Форум сайта python.su
В коде есть:
('название_скрипта.cgi?param=рандомное_значение')
название_скрипта.cgi?param=рандомное_значение
Офлайн
>>> import re >>> >>> s = "('название_скрипта.cgi?param=рандомное_значение')" >>> re.search(r"\('([^']*)'\)", s).group(1) 'название_скрипта.cgi?param=рандомное_значение' >>>
Отредактировано py.user.next (Дек. 27, 2015 02:19:56)
Офлайн
Спасибо, но нужно именно
название_скрипта.cgi?param=рандомное_значение
('рандомное_значение/название_скрипта.cgi?param=рандомное_значение')
Офлайн
geliusИменно это оно и достаёт, кавычки пишет repr().
Спасибо, но нужно именно
Отредактировано py.user.next (Дек. 27, 2015 03:45:52)
Офлайн
gelius
Спасибо, но нужно именно
Офлайн
py.user.nextОно достает любую строку, заключенную в ковычки.
Именно это оно и достаёт, кавычки пишет repr().
название_скрипта.cgi
AttributeError: 'NoneType' object has no attribute 'group'
rex = re.compile(r'([\w](\')?)(.*?)название_скрипта.cgi(.*?)(\')') sc = [d[2] for d in rex.findall(s)]
Отредактировано gelius (Дек. 27, 2015 15:16:52)
Офлайн
>>> 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=рандомное_значение >>>
Отредактировано py.user.next (Дек. 27, 2015 15:34:16)
Офлайн
Хм. Не могу понять, почему отказывается забирать искомую строку из html кода.
Отредактировано gelius (Дек. 27, 2015 16:37:50)
Офлайн