Регулярное выражение может использоваться для проверки строки или повторения шаблона в строке. Например, если вы хотите проверить, повторяется ли строка ‘abc’ ровно 3 раза в строке, вы можете использовать следующее регулярное выражение: (abc) \ 1 {2}
, или это было бы так в Java после добавления escape-символов:
Pattern.compile("(abc)\\1{2}");
|/\1 в регулярном выражении соответствует первой группе захвата в регулярном выражении. Если вы хотите, чтобы он соответствовал второй группе захвата, вы можете использовать
\ 2 и так далее.
Также возможно проверить, повторяется ли группа захвата не менее n
раз или более n
раз. Для примеров,
- чтобы проверить, если
abc
повторяется в строке не менее 5 раз,(abc)\1{4,}
- чтобы проверить, если
abc
повторяется в строке менее 5 раз,(abc)\1{0,4}
Оригинал: “https://dev.to/ethanzxlee/repeated-capturing-group-5f5e”