Шаблон регулярного выражения Java, соответствующий слову или фразе - PullRequest
1 голос
/ 06 января 2010

У меня есть следующее регулярное выражение, которое я компилирую с классом Pattern.

\bIntegrated\s+Health\s+System\s+\(IHS\)\b

Почему это не соответствует этой строке?

«тестовый набор« Интегрированная система здравоохранения (IHS) ».

Если я попытаюсь \ bpattern \ b, похоже, что это работает, но для вышеприведенной фразы это не так. У меня есть скобки в шаблоне, поэтому я не уверен, почему он не работает. Это действительно соответствует, если я удаляю часть шаблона в скобках, но я хочу соответствовать целиком.

Ответы [ 3 ]

1 голос
/ 06 января 2010

1) избегать паренов, иначе они захватывают и группируют метасимволы, а не буквальные скобки \( \)

2) удалить последний \ b, вы не можете использовать границу слова после литерала), так как) не считается частью слова.

\bIntegrated\s+Health\s+System\s+\(IHS\)\W
0 голосов
/ 06 января 2010

Вам нужно убрать скобки

\bIntegrated\s+Health\s+System\s+\(IHS\)\b

Круглые скобки ограничивают группу захвата. Чтобы соответствовать буквальному набору скобок, вы можете экранировать их так:

0 голосов
/ 06 января 2010

У вас есть (IHS) - группа - где вы хотите \ (IHS \) в виде буквальных скобок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...