Regex, чтобы найти повторяющиеся фазы - PullRequest
0 голосов
/ 03 мая 2019

Я получил шанс получить регулярное выражение для поиска всех повторяющихся фаз по адресу: https://www.regextester.com/93564 Используемое регулярное выражение есть /(\W|^)(.+)\s\2/

Я не понимаю, почему это может сработать.Я знаю (\ W | ^) будет гарантировать, что сопоставление начинается с несловарного символа или с начала строки.(\ W | ^) (. +) \ S заканчивается пробелом.Но я не понимаю, почему после того, как мы их соединили, можно найти повторяющиеся фазы.Может ли кто-нибудь объяснить мне это?

Также, если я хочу указать, получить только повторяющиеся фазы после определенного символа / строки, что я должен добавить к нему?Заранее спасибо.

1 Ответ

0 голосов
/ 03 мая 2019

\2 в вашем регулярном выражении помогает найти дубликаты.Это все равно, что упомянуть, если вторая группа захвата встречается снова, тогда вся эта часть совпадает.

Чтобы получить повторяющиеся фразы после определенного символа / строки - например, a - просто добавьте его в начало выражения, как/(?<=a)(\W|^)(.+)\s\2/, где (?<=) - это позитивный вид сзади (может поддерживаться не во всех браузерах), который игнорирует все, что находится внутри него.

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