Regex не может использовать один и тот же символ для двух матчей - PullRequest
3 голосов
/ 11 февраля 2020

В приведенном ниже регулярном выражении я хочу сопоставить все случаи "a c", когда он содержится между двумя косыми чертами. Первый совпадает, а второй нет, потому что для первого совпадения используется средний sla sh. Любой способ заставить второй "a c" также совпадать?

https://regex101.com/r/WxTFJI/2

Ниже приведено то, что я пытался

([\/])ac([\/])

Моя тестовая строка

/ac/ac/ 

Спасибо

1 Ответ

5 голосов
/ 11 февраля 2020

Причина, по которой (\/)ac(\/) не соответствует второму a c, заключается в том, что второй / ac / уже захвачен, оставаясь с ac / , но по вашему вопросу вы просто хочу ac без слешей. если так, то

(?<=\/)ac(?=\/)
...