Ich muss die folgenden Varianten übereinstimmen.Komplizierte regulären Ausdruck Hilfe benötigt in Java
annotation: 103810471047
annotation: 1038104710
ANnoTAtION: 1038104710
ANnoTAtION: 103810571057
Annotation: asdf1234-as12-as12-as12-asdf1234asdf-abcd1234asdf1234asdf12
ANNotation: asdf1234-as12-as12-as12-asdf1234asdf-abcd1234asdf1234asdf12
Ich habe Schwierigkeiten, mit den richtigen Ausdrücken zu kommen. Bis jetzt habe ich das folgende versucht, zwei Look-Ahead zu verwenden.
\b(\Qannotation\E|)\b((?=[^\w\r\n\.!\?$]{0,5}?)(?:[A-Z\d]+\b|(["']).*?\3))|((?=[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12}-[\w]{22}\b)[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12}-[\w]{22}\b)|((?=[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12}-[\w]{22}\b)[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12}-[\w]{22}\b)
Aber es scheint nicht richtig zu entsprechen. Ich brauche es, um alles zu finden, das mit der Groß-/Kleinschreibung nicht übereinstimmt, gefolgt von einer Zahl zwischen 8-12 Ziffern oder einer Bindestrich-getrennten Wortliste mit 8,4,4,4,12,22 Zeichen.
Es sollte 2 Gruppen zurückgeben. erste Gruppe ist das Wort "Annotation" zweite Gruppe ist entweder die 8-12-stellige oder Bindestrich separate Wortliste mit 8,4,4,4,12,22 Zeichen.
Was passiert, wenn zwischen der Anmerkung, da Nicht-Rückkehr Zeichen jede beliebige Anzahl von nicht-Wort sein kann? Wenn ich das richtig verstehe, erfasst es die ganze Sache als eine einzige Gruppe, gibt es eine Möglichkeit, es als 2 verschiedene Gruppen zu erfassen? –
@JettinYeh - Können Sie mir ein Beispiel geben? – TheLostMind
Zum Beispiel Annotation :::: 123456789 Gruppe 1 Gruppe 2 –