У меня расширенный вопрос о регулярных выражениях (если я не переосмысливаю это).
С моими базовыми знаниями о регулярных выражениях легко сопоставить статическую группу захвата ниже в строке.
P(.): D:\1
Правильно соответствует
Pb: Db
Pa: Da
и (правильно) не соответствует
Pa: D:b
Пока все хорошо.Тем не менее, мне нужно захватить набор [az] + после P и соответствовать одному символу.Чтобы они также соответствовали:
Pabc: D:c
Pabc: D:a
Pba: D:b
Pba: D:a
, но не
Pabc: D:x
Pba: D:g
Я начал идти по пути написания отдельных шаблонов, например, так (пробелы добавлены вокруг чередования для ясности):
P(.): D:\1 | P(.)(.): D:(\1|\2) | P(.)(.)(.): D:(\1|\2|\3)
Но я не могу заставить даже это неуклюжее решение работать в Javascript Regex.
Есть ли элегантный, правильный способ сделать это?Можно ли это сделать с помощью ограниченного движка Javascript?