java E-Mail Extraktion regulären Ausdruck?

7

Ich möchte einen regulären Ausdruck, der E-Mail-Adressen aus einem String extrahiert (unter Verwendung von regulären Java-Ausdrücken).

Das funktioniert wirklich.

    
EugeneP 12.02.2010, 09:39
quelle

5 Antworten

15

Hier ist der reguläre Ausdruck, der wirklich funktioniert. Ich habe eine Stunde lang im Internet surfen und verschiedene Ansätze getestet, und die meisten von ihnen funktionierten nicht, obwohl Google diese Seiten am besten bewertete.

Ich möchte einen funktionierenden regulären Ausdruck mit dir teilen:

%Vor%

Hier ist der ursprüngliche Link: Ссылка

    
EugeneP 12.02.2010, 09:42
quelle
4

Ich musste einige Bindestriche hinzufügen, um sie zu berücksichtigen. Also ein Endergebnis auf Javanisch:

%Vor%     
thealy 28.12.2011 16:57
quelle
3

Installieren Sie dieses Regex-Tester-Plugin in Eclipse, und Sie könnten eine Regex-Version von Ссылка testen.

Zu beachtende Punkte:
Verwenden Sie im Plugin nur einen Backslash für die Zeichenflucht. Aber wenn Sie die Regex in eine Java / C # -Zeichenfolge transkribieren, müssten Sie sie verdoppeln, da Sie zwei Escapes ausführen würden, zuerst den Backslash aus dem Java / C # -String-Mechanismus und dann den eigentlichen Regex-Zeichen-Escapemechanismus. p>

Umgeben Sie die Abschnitte der Regex, deren Text Sie mit runden Klammern / Ellipsen erfassen möchten. Dann könnten Sie die Gruppenfunktionen in Java oder C # regex verwenden, um die Werte dieser Abschnitte zu ermitteln.

([_ A-Za-z0-9 -] +) (\. [_ A-Za-z0-9 -] +) @ ([A-Za-z0-9] +) (\. [A-Za-z0-9] +)

Verwenden Sie zum Beispiel die obige Regex, die folgende Zeichenfolge

%Vor%

ergibt

%Vor%

Gruppe 0 ist immer die Erfassung der gesamten übereinstimmenden Zeichenfolge.

Wenn Sie keinen Abschnitt mit Ellipsen umschließen, können Sie nur eine Übereinstimmung erkennen, den Text jedoch nicht erfassen.

Es könnte weniger verwirrend sein, ein paar Regex als einen langen Catch-All-Regex zu erstellen, da Sie programmatisch einen nach dem anderen testen und dann entscheiden könnten, welche Regexes konsolidiert werden sollen. Vor allem, wenn Sie ein neues E-Mail-Muster finden, das Sie nie zuvor in Betracht gezogen hatten.

    
Blessed Geek 12.02.2010 19:17
quelle
0

ein bisschen spät, aber ok.

Hier ist was ich benutze. Fügen Sie es einfach in die Konsole von FireBug ein und führen Sie es aus. Suchen Sie auf der Webseite nach einem 'Textarea' (wahrscheinlich am Ende der Seite), das eine separate Liste aller E-Mail-Adressen enthält, die in A-Tags gefunden wurden.

%Vor%     
Digital Human 03.07.2013 11:05
quelle
0

Das eingebaute E-Mail-Adressmuster von Java ( Patterns.EMAIL_ADDRESS ) funktioniert perfekt:

%Vor%     
Duy Pham 13.10.2017 10:56
quelle

Tags und Links