Java-regex-pattern-matching für Wort endend mit asterix-literal
Ich versuche, um eine einfache regex-Muster funktionieren mit java. Ich müssen zu erkennen, die durch Großbuchstaben Wort endend mit Sternchen mit einem Satz. Aus dem folgenden Beispiel :
Test ABC* array
Ich brauche, um zu identifizieren, "ABC*" - oder, um genau zu sein, jedes Wort mit der oberen Gehäuse-Ende mit einem Sternchen. Ich habe versucht, das folgende pattern-matching mit meiner begrenzten regex-Kenntnisse, aber es hat nicht geklappt bisher.
String text = "Test ABC* array"; Matcher m = Pattern.compile("\b[A-Z]+[*]?\b").matcher(text);
Jegliche Hinweise werden dankbar angenommen.
Dank
- Es geht auch nicht, siehe meine Antwort für eine Lösung.
- Der star ist nicht ein Kleene-Stern-es ist ein einfaches Zeichen (die einzige, in der Tat) in einer Charakter-Klasse.
Du musst angemeldet sein, um einen Kommentar abzugeben.
das problem ist, dass Sie nicht über eine Wort-Grenze am Ende nach dem Stern. So versuchen Sie, diese
\B
ist nicht ein Wort-Grenze, so ist dies genau, was Sie bekommen zwischen den*
und ein Leerzeichen.Sehen es hier auf Regexr
Vorausgesetzt, Ihr string enthalten kann, die mehrere AAA* Teile :
Ich würde es einfach halten:
Haben Sie zu entkommen, dass die wörtliche Sternchen mit einem backslash. Es endet als ein Doppel-backslash in Java.