Найти - Пользователи
Полная версия: помогите пожалуйста с регуляркой
Начало » Центр помощи » помогите пожалуйста с регуляркой
1
gelius
В коде есть:
('название_скрипта.cgi?param=рандомное_значение')
Нужно вытаскивать
название_скрипта.cgi?param=рандомное_значение
py.user.next
>>> import re
>>> 
>>> s = "('название_скрипта.cgi?param=рандомное_значение')"
>>> re.search(r"\('([^']*)'\)", s).group(1)
'название_скрипта.cgi?param=рандомное_значение'
>>>
gelius
Спасибо, но нужно именно
название_скрипта.cgi?param=рандомное_значение
Если в строке отсутствует ‘название_скрипта.cgi?param=’ забирать ее не нужно.
Скорее даже так:
('рандомное_значение/название_скрипта.cgi?param=рандомное_значение')
py.user.next
gelius
Спасибо, но нужно именно
Именно это оно и достаёт, кавычки пишет repr().
A.N.Onim
gelius
Спасибо, но нужно именно
gelius
py.user.next
Именно это оно и достаёт, кавычки пишет repr().
Оно достает любую строку, заключенную в ковычки.
Нужно только строки содержащие
название_скрипта.cgi
Кстати не работает.
AttributeError: 'NoneType' object has no attribute 'group'
python 2.7
Вроде должно вытаскивать:
	rex = re.compile(r'([\w](\')?)(.*?)название_скрипта.cgi(.*?)(\')')
	sc = [d[2] for d in rex.findall(s)]
Но пусто.
py.user.next
>>> import re
>>> 
>>> text = u"""
... ('название_скрипта.cgi?param=рандомное_значение1')
... ('x')
... ('название_скрипта.cgi?param=')
... ('название_скрипта.cgi?param=рандомное_значение2')
... ('рандомное_значение/название_скрипта.cgi?param=рандомное_значение')
... """
>>> 
>>> pat = ur"\('([^']*название_скрипта\.cgi\?param=[^']*)'\)"
>>> 
>>> lst = re.findall(pat, text)
>>> for i in lst:
...     print i
... 
название_скрипта.cgi?param=рандомное_значение1
название_скрипта.cgi?param=
название_скрипта.cgi?param=рандомное_значение2
рандомное_значение/название_скрипта.cgi?param=рандомное_значение
>>>
gelius
Хм. Не могу понять, почему отказывается забирать искомую строку из html кода.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB