Проверьте, содержит ли слово подстроку в Java Regex - PullRequest
13 голосов
/ 18 января 2011

Если я хочу проверить все слова, содержащие подстроку DEF, будет ли это правильным подходом:

^.*[D][E][F].*$

Также существует простое правило при отрицании регулярных выражений, то есть изменение вышеупомянутого для идентификации строкне содержит DEF

РЕДАКТИРОВАТЬ: я знаю, что это не требует регулярных выражений, но для моих целей это делает.

Ответы [ 3 ]

27 голосов
/ 18 января 2011

Это тоже работает:

^.*DEF.*$

Проверяет, содержит ли вся строка подстроку "DEF" хотя бы один раз. Но для тривиальных выражений, подобных этому:

str.contains("DEF");

делает то же самое.

10 голосов
/ 18 января 2011

Почему бы просто не использовать str.contains("DEF") и !str.contains("DEF")?

0 голосов
/ 18 января 2011

Вы можете просто использовать DEF в качестве регулярного выражения. Чтобы определить строки, которые не содержат его, просто верните строки, которые не соответствуют вышеприведенному выражению.

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