Regex for только в том случае, если, если символ присутствует, то он может быть преемником - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь создать простое регулярное выражение для определения URL. Мой прогресс - это регулярное выражение: ^((https?):\/\/)?[\w.]*[\w]+\.[a-z]{3}\/?([\w\?\#.=-]+\/?)*$ Но на самом деле это не то, чего я хочу. Это может обнаружить URL-адреса, такие как:

https://something.com

www.stackoverflow.com

subdomain.domain.com/something/photo.png

Но это также обнаруживает

subdomain.domain.communication

Моя цель такова:

В конце домена должно быть три символа (.com, .org,. net). После окончания домена может быть / или нет. Но если присутствует только /, он должен смотреть на регулярное выражение, иначе оно не будет совпадать. Как он должен обнаружить:

https://somewebsite.com

https://somewebsite.com/

https://somewebsite.com/webpage/some#section

Но не:

https://something.commmm/

1 Ответ

1 голос
/ 27 марта 2020

Попробуйте

^(https?:\/\/)?([\w]+\.)+[a-z]{3}(\/[\w\?\#.=-]+)*\/?$

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