Ich habe zwei reguläre Ausdrücke, einen, der Benutzernamen aus einer CSV-Zeichenfolge herauszieht, und den anderen, der E-Mails herauszieht.
Das Zeichenfolgenformat ist wie folgt:
%Vor%Der Code für meine regulären Ausdrücke ist so.
%Vor%Ich habe mehrere Gedanken über das Zusammenführen von Regexen gefunden, aber aus den Antworten konnte ich nicht herausfinden, wie man meins zusammenführt.
meine Ausdrucke zeigen:
%Vor%würde ich in der Lage sein das gleiche von einem single matcher mit einem Regex auszudrucken?
obs: Das ist eine Schulaufgabe, was bedeutet, dass ich sie nicht "verschmelzen" oder mehr tun muss, aber ich würde gerne wissen, ob es möglich ist und wie schwierig es wäre.
Sie können einfach ein Pipe (|)
zwischen Ihrem multiple Regex
verwenden, um alle zu vergleichen: -
AUSGABE :
%Vor%AKTUALISIEREN :
Wenn Sie username
und email
nur dann drucken möchten, wenn beide vorhanden sind, müssen Sie die Zeichenfolge in ;
aufteilen und anschließend die folgende Regex auf jede davon anwenden.
Hier ist der Code: -
%Vor%AUSGABE :
%Vor%Der folgende Code extrahiert Ihre Paare. Die Regex ist ziemlich kurz, aber ich bin mir fast sicher, dass es einen eleganteren Weg gibt (es gibt immer einen Regex!). ;)
%Vor%Ausgabe:
username2 [email protected]
username3 [email protected]
Erklärung für die Regex "\(([^\)]+)\)\s<([^>]+)>"
:
\(([^\)]+)\)
: Eine Gruppe von )
-Zeichen eingeschlossen von (
und )
\s
: Ein Leerzeichen zwischen <([^>]+)>
: Eine Gruppe von >
-Zeichen eingeschlossen von <
und >