Задать вопрос
pashted
@pashted
тыжпрограммист

Можно ли за счет использования квантификаторов добиться нумерации обратных ссылок?

всем привет.

допустим есть строка
simple string for testing .

и регулярка, ей соответствующая
(\w+?\s){4}

есть ли простой способ обратиться к третьей группе $3, вместо написания этого
(\w+?\s)(\w+?\s)(\w+?\s)(\w+?\s)

слов может быть гораздо больше и такое нагромождение не совсем удобно.
  • Вопрос задан
  • 169 просмотров
Подписаться 5 Средний Комментировать
Решения вопроса 1
dlnsk
@dlnsk
ПК Партнер 01.01 -> ПК Поиск -> IBM PC
PCRE не поддерживает стек результатов для каждой группы. Если вы используете с группой квантификатор * или +, то будет сохранено только последнее совпадение с этой группой. Нужное вам поведение есть в .NET, Boost и PyPi модуле Python.
Если ваша регулярка довольно проста, то может проще заменить ее на что-то вроде PHP функции explode(' ', $string)
Кроме того, если вы оставите только (\w+?\s), то получите все совпадения в коде программы, откуда вы вызываете регулярку (если, конечно, вы это делаете из кода) и затем можете обратиться к любому совпадению.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы