Как я могу проверить, есть ли в строке несколько совпадающих групп, которые совпадают? - PullRequest
1 голос
/ 23 апреля 2020

В настоящее время я отфильтровываю пути URL с помощью Regex (Python). Несколько путей URL-адресов, с которыми я столкнулся, не имеют значения, и я хочу определить URL-адреса, подобные этим.

Например:

/ugrad/honors/index.php/policies/sao/policies/overview/step-1-course-requirements.html
/ugrad/honors/index.php/overview/sao/overview/sao/policies/noodle.html

В приведенных выше примерах вы можете видеть, что policies и overview повторяются оба раза.

Как я могу разработать функцию Regex, чтобы определить, есть ли в пути URL более 2-х совпадающих текстов?


Я пытался что-то подобное, но Я не уверен, возможно ли обнаружить 2+ подходящих текста в строке

Моя попытка: \S+(\/.+)\1\S+

1 Ответ

2 голосов
/ 23 апреля 2020

Захватите sla sh, за которым следуют не косые черты, а затем снова sla sh. Затем повторите что-нибудь и сделайте обратную ссылку на группу захвата:

(\/[^\/]+\/).*\1

https://regex101.com/r/ygqRZc/1

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