2017-05-29 2 views
-3

Ich benutze eine Regex, um Wort von String zu bekommen, es funktioniert gut in alphanumerischen Fall, aber falsche Antwort zurück, wenn wir arithmetischen Operator verwendet werden.Regex funktioniert nicht in allen Fällen

Matcher oMatcher; 
Pattern oPattern; 


String key = "a++"; 
oPattern = Pattern.compile("\\b" + key + "\\b"); 
oMatcher = oPattern.matcher("max winzer® build-a-chair cocktailsessel »luisa« in runder form, zum selbstgestalten"); 
if (oMatcher.find()) { 
    System.out.println("True"); 
} 
+2

Was wollen Sie genau passen? 'a ++' in einem Muster sieht falsch aus mit den Pluspunkten nicht entkommen. –

+0

a ++ ist ein Code für etwas. –

Antwort

3

Sie haben alle möglichen regex Sonderzeichen zu entkommen in key mit Pattern.quote:

oPattern = Pattern.compile("\\b" + Pattern.quote(key) + "\\b"); 
            ^^^^^^^^^^^^^ 
+0

Danke, ich will das genau. –

Verwandte Themen