2016-04-07 11 views
-3

Ich brauche eine Zeichenfolge zu analysieren, die wie folgt aussieht:brauchen einen String mit RegEx zu analysieren

Einige Label war A B C, geändert ccc ddd.

Hier sind die Wörter 'war' und ', geändert in' und der Punkt am Ende sind Teile der Syntax.

Ich brauche es zu analysieren folgenden drei Strings zu extrahieren:

"Einige Label"

"ABC"

"ccc ddd"

Danke

Antwort

0
/([\w ]*) was ([\w. ]*), changed to ([\w. ]*)/ 

Dies ist nur ein Anfangspunkt, den Sie wahrscheinlich abhängig von exa ändern müssen Genau was Sie anstelle von "A B C" auf ähnliche Weise abgleichen wollen - im Moment passen wir Wortzeichen (Buchstaben, Ziffern und Unterstriche), Leerzeichen und Punkte an. Die erste Zeichenklasse stimmt jedoch nicht mit Perioden überein. Wenn Ihre Beschriftungen Punkte enthalten, müssen Sie dies ändern.

Check it out in action here - werfen Sie einen Blick auf die Spiele auf der rechten Seite und spielen Sie damit herum, um zu sehen, wie es funktioniert.

+0

Übrigens, um dies in C# auszuführen, bauen Sie Ihr Regex-Objekt mit 'Regex rgx = new Regex (Muster, RegexOptions.IgnoreCase);' und dann mit 'rgx.Matches (label_string)' –

+0

Danke Devon, es funktioniert wunderbar! Nun ist meine Frage: Wie ändere ich den Regex-Ausdruck, um mehr spezielle Symbole in Werten zuzulassen: wie Schrägstrich, Bindestrich, Punkte usw. Mein erstes Etikett enthält normalerweise nur Buchstaben, aber beide Werte können mehrere Sonderzeichen enthalten. – Alex

+0

Beispiel: Enddatum war der 2.11.2008 um 12:00:00 Uhr, geändert zu 1/1/2038 12:00:00 Uhr. – Alex