2016-07-28 8 views
0

Ich habe versucht, das Muster ^\\+[0-9]++852(2)78911 zu passen, aber es scheint, dassJava RegexMuster passt nicht erkennt "Escape +"

Pattern.matches("^\\+[0-9]+", s)

ist false zurück. Als ich es in regexr versuchte, funktioniert es gut, d. H., Mir eine Übereinstimmung zu geben. Entkomme ich das nicht richtig im Java-Sinne? Statt

+0

Wie kommt es funktioniert bei RegExpr wenn Ihr Muster Klammern nicht übereinstimmt? Welches Ergebnis erwartest du? Ich bin sicher, dass Sie nur 'Matcher # find()' verwenden müssen. –

+0

Es gibt Ihnen diese Übereinstimmung: '+852' nicht der Rest der Zeichenfolge –

Antwort

0

diese regex Versuchen: ^\\+[0-9\\(\\)]+$

+1

Sie finden die Formatierungsfunktionen hier: http://stackoverflow.com/editing-help. Es gibt keine Notwendigkeit, Klammern innerhalb einer Zeichenklasse zu entkommen. Beachten Sie auch, dass Anker bei der Methode 'matches' implizit sind. –