Условно при разборе URL захватить имя порта через регулярное выражение - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть следующее регулярное выражение для извлечения различных частей URL:

^
# optional http/https supplied
(?:(?P<protocol>https?):\/\/)?
# optional www. supplied
(www)?
# get the host, up to first slash/port
(?<host>[^(\/|\:\d+)]*)
# get the host, or 80 if not provided
(?:\:(?<port>\d+))?
# get the pathname, don't allow ending junk
[^\s\n]+(?<![.,!)])

Здесь можно увидеть работу с двумя URL-адресами: https://regex101.com/r/WnJ80y/1.

Однако я бы хотелдобавить к нему условное выражение, чтобы, если port не указано, оно заполняло "80" (хотя это может быть неправильно, если это https, но сейчас давайте просто сделаем 80). Как это можно сделать?

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