Reguläre Python-Ausdrücke, E-Mail-Domäne in Adresse suchen

9

Ich weiß, dass ich ein Idiot bin, aber ich kann die Domain nicht aus dieser E-Mail-Adresse herausziehen:

%Vor%

Meine gewünschte Ausgabe:

%Vor%

Meine aktuelle Ausgabe:

%Vor%

(es ist nur ein Punktzeichen)

Hier ist mein Code:

%Vor%

Hier ist, was mein regulärer Ausdruck sagt ('@ * ?.', test_string):

%Vor%

Ich basiere das hier auf die Definitionen:

Ссылка

Außerdem habe ich gesucht, aber andere Antworten waren ein bisschen zu schwierig für mich, um mich um mich zu kümmern.

Hilfe wird wie immer sehr geschätzt. Danke.

Meine Sachen, wenn es darauf ankommt:

  

Windows 7 Pro (64 Bit)

     

Python 2.6 (64 Bit)

PS. StackOverflow-Frage: Meine Posts enthalten keine neuen Zeilen, wenn ich zweimal "return" drücke. Zum Beispiel (diese sind alle in einer anderen Zeile, wenn ich poste):

@ - finde alle Muster, die mit dem at-Symbol beginnen ("@") * - finde alle Zeichen nach kaufmännischem Und-Zeichen ? - Finde das letzte Zeichen vor dem Punkt \ - Breakout (benutze das nächste Zeichen nicht als Wildcard, wir sind ein String-Zeichen) . - Finde das "." Charakter , Testzeichenfolge - Führen Sie die vorhergehende Suche in der Variablen "test_string" aus, d. h. "[email protected]"

Deshalb habe ich in jeder Zeile oben eine Leerzeile s / w bekommen. Was mache ich falsch? Thx.

    
PatentDeathSquad 12.04.2011, 02:57
quelle

4 Antworten

17

Hier ist etwas, das meiner Meinung nach helfen könnte

%Vor%

Ausgaben

%Vor%

Wie die Regex funktioniert:

@ - scannen, bis Sie dieses Zeichen sehen

[\w.] eine Menge von Zeichen, die möglicherweise übereinstimmen, also \w sind alle alphanumerischen Zeichen, und die nachgestellte Periode . fügt diese Menge von Zeichen hinzu.

+ eins oder mehr der vorherigen Menge.

Da diese Regex das periodische Zeichen und jedes alphanumerische Zeichen nach einem @ abgleicht, passt es E-Mail-Domänen sogar in der Mitte von Sätzen an.

    
Conrad.Dean 12.04.2011, 04:03
quelle
10

Ok, also warum nicht Split verwenden? (oder Partition)

%Vor%

Oder Sie können andere String-Methoden wie find

verwenden %Vor%

und wenn Sie E-Mail-Adressen aus einem anderen Text extrahieren möchten

%Vor%     
kurumi 12.04.2011 03:01
quelle
3

Reguläre Ausdrücke verwenden:

%Vor%

Ein anderer Weg:

%Vor%     
chrisaycock 12.04.2011 03:04
quelle
1

Ich wollte nur darauf hinweisen, dass die Methode von chrisaycock mit ungültigen E-Mail-Adressen des Formulars übereinstimmt

%Vor%

Um sicherzustellen, dass Sie nur eine möglicherweise gültige E-Mail mit der Domäne abgleichen, müssen Sie sie leicht ändern

Reguläre Ausdrücke verwenden:

%Vor%     
quelle

Tags und Links