Java - Regex-Match Mehrere Wörter
Können sagen, dass Sie wollen, um einen string mit der folgenden regex:
".beim ist (\w+)." - Ich versuche, das Ereignis nach dem 'Wann'
Ich kann die Veranstaltung mit matcher.Gruppe(index), aber dieses funktioniert nicht, wenn die Veranstaltung wie Veteran ' s Day, da es zwei Wörter. Ich bin nur in der Lage, das erste Wort nach dem 'Wann'
Was regex sollte ich verwenden, um alle Wörter, die nach 'wenn ist'
Außerdem können sagen, ich will someones Tag wie
'Wann ist * Geburtstag
Wie kann ich die Erfassung aller der text zwischen ist und Geburtstag mit regex?
\w
nicht enthalten einen Raum oder einen Kostenvoranschlag.\w
===
[a-zA-Z0-9_]
- sorry eigentlich meinte ich auch (\\w+) anstelle von (\w+)
- Wenn Sie schreiben
\w
gehen wir davon aus du meinst den regulären Ausdruck\w
, ausgedrückt als\\w
in Java-String-syntax. - Auch wir schreiben unsere Antworten unter der gleichen Annahme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, diese:
So finden Sie eine Zeichenfolge, die beginnt mit
when is
erfassen und alles andere dem Ende der Zeile.Regex wird die Rückkehr einer Gruppe. Sie können es wie so:
Und die Ausgabe sollte sein:
when is (.*) birthday
.Wenn Sie zulassen möchten, dass Leerzeichen aufeinander abgestimmt werden, sollten Sie explizit zulassen, Leerraum.
Jedoch roydukkey die Lösung wird funktionieren, wenn Sie erfassen möchten alles nach
when is
.Nicht reguläre Ausdrücke verwenden, wenn Sie nicht müssen!! Obwohl die Theorie der regulären Ausdrücke ist schön in den Gedanken, dass Sie können eine Zeichenfolge, die do-code-Operationen für Sie, es ist sehr Speicher ineffizient für einfache Anwendungsfälle.
Wenn Sie versuchen, um das Wort nach dem "Wann" das Ende durch ein Leerzeichen, die man tun könnte etwas wie diese:
Wenn Sie wissen, das Letzte Wort ist Tag, Sie können nur end = "Tag" und fügen Sie die Länge der Zeichenfolge, wo bis zum Ende der zweiten Teilzeichenfolge.
Können Sie Ausdrücken, wie eine Charakter-Klasse und Leerzeichen in es:
when is ([\w ]+)
.\w
enthält nur word-Zeichen, die keine Leerzeichen enthalten. Verwenden[\w ]+
statt.