Соответствуйте n-му вхождению динамически - PullRequest
0 голосов
/ 09 мая 2018

Я пробовал что-то на regex101 и спрашивал себя:

Как можно динамически сопоставить n-ую группу чисел.

давайте возьмем строку:

string = this11is22library33this44is55library

Для js-regex Мне удалось определить следующий шаблон

  • получить 1-е (?<=(?:\d+\D+){0})\d+ #11
  • получить 2-е (?<=(?:\d+\D+){1})\d+ #22
  • получить 3-й (?<=(?:\d+\D+){2})\d+ #33
  • получить 4-е (?<=(?:\d+\D+){3})\d+ #44
  • получить 5-е (?<=(?:\d+\D+){4})\d+ #55

Как возможно ли построить такой шаблон, чтобы соответствовал n-му числовому блоку в perl regex?

1 Ответ

0 голосов
/ 09 мая 2018

Используйте \K для этого вида с изменяемой длиной (поддержка Perl):

(?:\d+\D+){3}\K\d+

Демонстрационная версия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...