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. Пошук ззаду
Пошук ззаду працює так. Потрібно використовувати ?<= для пошуку на наявність слова/частини слова ззаду та ? .*(?<=програм).* Слово «програмуємо» відповідає даному шаблону, а слово «поліруємо» – ні.
Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.