Шаблон Java с границей слова не работает - PullRequest
0 голосов
/ 19 сентября 2018

Я создал довольно простое регулярное выражение в Java:

Pattern polar = Pattern.compile("\\bPOLAR\\.\\b");
assertEquals(true, polar.matcher("My String POLAR. other string").find()); <=== this fails!

Я хочу узнать, есть ли слово «POLAR».в моей строке.Я делаю что-то не так в своем регулярном выражении, но я не вижу, что.

У вас есть подсказка?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Должно ли это быть регулярное выражение?String::contains кажется подходящим для этого.

String str = "My String POLAR. other string";
System.out.println(str.contains("POLAR."));

Вывод:

true

0 голосов
/ 19 сентября 2018

Границы слова после точки нет (символ не из слов).

Вы можете использовать это регулярное выражение:

\bPOLAR\.\B

\B подтверждает позицию, где \b не соответствует.

Демонстрация RegEx

На Java:

final Pattern polar = Pattern.compile( "\\bPOLAR\\.\\B" );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...