Как мне сопоставить только основную часть URL с регулярным выражением? - PullRequest
1 голос
/ 29 марта 2020

Изо всех сил пытается найти аккуратный способ, чтобы соответствовать всем следующим жирным шрифтом. Должен исключать все начальные и конечные скобки и не совпадать с чем-либо за пределами фактического URL страницы, независимо от того, предоставлен ли он в необработанном виде, с доменом et c. По сути, это текстовое поле, в котором люди могут вводить URL-адреса любым допустимым способом, и мы хотим получить только ту страницу, которую он представляет на нашем сайте.

https://www.example.com/ page -words /

http://www.example.com/ page-other-words /

www.example.com/ страница / другая страница

more-page / some-more /

example.com / page-more-words /

/ do c /

/ text

test

прочее /

1 Ответ

2 голосов
/ 29 марта 2020

Учитывая эти строки ...

https://www.example.com/page-words/

http://www.example.com/page-other-words/

www.example.com/page/another-page

more-page/some-more/

example.com/page-more-words/

/doc/

/text

test

other/

Попробуйте это регулярное выражение ...

^(.*?.com\/|\/)?(.*?)(\/)?$

Демонстрация (сайт объясняет регулярное выражение на правой направляющей): https://regex101.com/r/h0Cohs/1

Необходимая подстрока записана в $ 2 (\ 2 в Python), поэтому вы можете захватить только:

page-words

page-other-words

page/another-page

more-page/some-more

page-more-words

doc

text

test

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