JavaRush /Java блог /Random UA /Регулярні вирази: знайти слово/частину слова
eGarmin
41 рівень

Регулярні вирази: знайти слово/частину слова

Стаття з групи Random UA
Якщо потрібно знайти слово або підрядок, хорошим рішенням буде використовувати оператора контролю з інструментарію регулярних виразів . Він незамінний у випадках, якщо вам потрібно знайти щось, що йде за чимось ще.
Простий приклад
String str = "программируем"; Pattern p = Pattern.compile(".*программ(?=ируем).*"); Matcher m = p.matcher(str); if(m.matches()){ System.out.println("Нашел!"); }else{ System.out.println("Не нашел!"); }
1. Пошук спереду
У прикладі вище, якщо потрібно знайти "програмуємо", але не треба шукати "програмую", слід використовувати наступний патерн: ? .*программ(?=ируем).* = - Пошук спереду на наявність слова/частини слова; ?! – пошук спереду відсутність слова/частини слова.
2. Пошук ззаду
Пошук ззаду працює так. Потрібно використовувати ?<= для пошуку на наявність слова/частини слова ззаду та ? .*(?<=програм).* Слово «програмуємо» відповідає даному шаблону, а слово «поліруємо» – ні.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ