regex und indexof

Zusammenfassung:

bla.split("\n"), geht weil Java das cr Zeichen in den String reinbaut

bla.split("\\n") geht auch weil Java das \n an regex weiterreicht der daraus ein cr macht

Wird lustig wenn man im Regex ein \\ braucht dann muss man ja \\\\ machen

----
So und jetzt muss ich nur noch den Fehler in meiner Recursion finden :-)
 
Denn dazu mal jetzt ne Frage (ohne ein neues Thema eröffnen zu müssen ;) ):

meine Methode zur email-Verifizierung:
Pattern.matches("^([a-zA-Z0-9-]+)(\.[a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$",address)

und dass ist meine Fehlerausgabe:
"Ungültige Escapezeichenfolge (gültig sind nur \b \t \n \f \r \" \' \\ )" von Eclipse

JEDER regulärer-Ausdruck-Tester findet was und meckert nich, nur der JavaCompiler hat was gegen die Backslashes in einem String. Was mach ich denn da?
 
Hallo!
Für jeden RegEx-Backslash in einem Java-String musst du einen doppelten Backslash eingeben. Dies ist notwendig, da der Java-Compiler selber bereits Escape Sequenzen interpretiert, die mit einem Backslash beginnen.

Das müsste dann bei dir also so aussehen:
Code:
Pattern.matches("^([a-zA-Z0-9-]+)(\\.[a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\\.)+([a-zA-Z]{2,3})$",address)
Gruß Peter
 
Zurück