-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Description
URL_REGEXP = re.compile(
r'^(?:http|ftp)s?://' # http:// or https://
r'(?:\S+(?::\S*)?@)?' # user and password
r'(?:(?:[A-Z0-9](?:[A-Z0-9-_]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain...
r'localhost|' # localhost...
r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip
r'(?::\d+)?' # optional port
r'(?:/?|[/?]\S+)$',
re.IGNORECASE,
)
- r'(?:\S+(?::\S*)?@)?' # user and password
(?::\S*)? уже и так ловится \S+
Ещё здесь уместней нежадный квантификатор +?: \S+?@, потому что мы же не ожидаем ещё одного @ в этой подстроке? - r'(?:(?:A-Z0-9?.)+(?:[A-Z]{2,6}.?|[A-Z0-9-]{2,}.?)|' # domain...
Эта сложность оправдана? По каким кейсам не подходит (?:\w[\w-]+.)+[\w-]+\w.?
Минус должен быть в конце группы, я не знаю, что получится из [A-Z0-9-_]
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels