Форум сайта python.su
1
Выражение
((http:\/\/|https:\/\/)([a-z0-9_-]+\.){1,4}[a-z]+)
[('https://wordpress.org', 'https://', 'wordpress.')]
Отредактировано kampella (Дек. 15, 2014 17:20:14)
Офлайн
103
>>> a = re.match('((http:\/\/|https:\/\/)([a-z0-9_-]+\.){1,4}[a-z]+)', 'https://wordpress.ru') >>> a.groups() ('https://wordpress.ru', 'https://', 'wordpress.') >>> a.groups()[0] 'https://wordpress.ru' >>> a.group() 'https://wordpress.ru'
Офлайн
1
terabayt
((http:\/\/|https:\/\/)(+\.){1,4}+)
((?:http:\/\/|https:\/\/)(?:[a-z0-9_-]+\.){1,4}[a-z]+)
Офлайн
103
тогда можно и так:
https?:\/\/(\w-?)+(\.[a-z]+){1,3}>>> a = re.search('https?:\/\/(\w-?)+(\.[a-z]+){1,3}}', 'https://wordpress.ru/') >>> a.group() 'https://wordpress.ru'
Отредактировано terabayt (Дек. 15, 2014 18:03:20)
Офлайн
34
Почему не воспользоваться urlparse?
Офлайн
1
GreyZmeemПотомучто findall
Почему не воспользоваться urlparse?
Офлайн
1
terabayt
тогда можно и так:
>>> a = re.search('https?:\/\/(\w-?)+(\.[a-z]+){1,3}', 'https://word--press.ru/') >>> a.group() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'NoneType' object has no attribute 'group'
a = re.search('https?:\/\/(\w-*)+(\.[a-z]+){1,3}', 'https://word--press.ru/')
Отредактировано kampella (Дек. 15, 2014 22:26:16)
Офлайн
103
ну эт я специально сделал. сначала я разместил прост, а потом вспомнил и отредактировал. разве может быть сайт с несколько подряд идущими черточками?! если хотите можно и так:
https?:\/\/[\w-]+(\.[a-z]+){1,3}
Офлайн
857
Слеши экранировать не надо.
r'https?:// ... '
Отредактировано py.user.next (Дек. 16, 2014 05:49:06)
Офлайн