Допустим, мы имеем следующее регулярное выражение:Статические группы захвата?
((a(.+?)c ?)+)
Это будет соответствовать:
abc acc aac
Что я хочу сделать:
((a(.+?)c ?)(a\3c ?)*)
Так что я будет соответствовать только
abc abc abc
или
acc acc acc
но не пункт # 2 (а согласно ААСУ)
... Но без обратной ссылки.
В принципе, я хочу, чтобы третья группа захвата в # 1 (. +?) Всегда соответствовала бы тем, что было в первом матче.
Возможно ли это?
Чтобы сделать вещи более волосатыми, это должно работать в JavaScript-реджиксере.
Вы хотите регулярное выражение ** без ** обратной ссылки? Потому что кажется, что backreference - это то, что вам нужно: '((a (. +?) C?) (A (. +?) C?) (A \ 3c?) *)' – acdcjunior
yes, js поддерживает обратные ссылки и большинство другие функции perl regexp, из которых он основан ... – dandavis
@ dandavis Просто протестировано, я этого не знал! Я всегда думал, что это не работает в _JavaScript_. Теперь вы открыли для меня целый новый мир _RegExp_ (не то, что я действительно использую его много над строковыми операциями) –