Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpRgGB 59 of 322 menu
◀ ▶

Группирующие скобки в регулярках Java

В предыдущих примерах операторы повторения действовали только на один символ, который стоял перед ними. Что делать, если нужно подействовать им на несколько символов?

Для этого существуют группирующие скобки '(' и ')'. Они работают так: если что-то стоит в группирующих скобках и сразу после ')' стоит оператор повторения - он подействует на все, что стоит внутри скобок.

В следующем примере шаблон поиска выглядит так: буква 'x', далее строка 'ab' один или более раз, потом буква 'x':

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String txt = "xabx xababx xaabbx"; Pattern pattern = Pattern.compile("x(ab)+x"); Matcher matcher = pattern.matcher(txt); String res = matcher.replaceAll("!"); System.out.println(res); } }

Результат выполнения кода:

"! ! xaabbx"

Дана строка:

public class Main { public static void main(String[] args) { String txt = "ab abab abab abababab abea"; } }

Напишите регулярку, которая найдет строки по шаблону: строка 'ab' повторяется 1 или более раз.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить