2016-07-27 17 views
0

Etwas, das sehr einfach scheint und funktioniert überall aber nicht in Android. Ich möchte, dass der Matcher TRUE zurückgibt, wenn eine Zeichenfolge anders als A + ist. Ist negativer Lookbehind in Android 6.0 nicht gültig? Hier ist mein Regex, das nicht funktioniert:Android Matcher Regex

^(. (?! A \ +) *) $

Wenn ich gebe A, A- oder A + es kehrt FALSCH. Es sollte nur FALSE für A + zurückgeben.

+1

s = 'A +' Nicht wirklich eine gute Verwendung von Regex für einzelnen Fall wahr. Zeigen Sie uns auch den Code, es ist so viel einfacher, n Code einzufügen, um es auszuprobieren. – danny117

+0

Warum verwenden Sie '! String # startsWith (" A + ")' Methode? Es wird dasselbe tun. – pxsx

Antwort

0

Das Pluszeichen ist nicht entgangen: Versuchen Sie folgendes:

^((?!A\\+).*)$

+0

Ahhh, danke !! Das hat funktioniert! –

+0

Ich hatte einen einzigen Schrägstrich drin, aber nicht das Doppel. –

+0

Ja - der einzelne Schrägstrich ist für Java-Escaping reserviert. Du brauchst also ein Double für eine Regex-Flucht. – dipdipdip