Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 23, 2016 23:12:56

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с регулярками

				rex = re.compile(r'(slovo\+(\'))(.*?)(\')')
				ss = str([d[2] for d in rex.findall(realbody)])
				print ss
отдает:
['&s=']
Дальше ннужно ставить только
&s=
ss = str(ss[0])
отдало
[
Внутри могут быть разные комбинации из разного количества символов.
Например:
['&rrr=']

Отредактировано gelius (Фев. 23, 2016 23:13:23)

Офлайн

#2 Фев. 24, 2016 06:30:37

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

проблема с регулярками

Исходный текст приведи и то, что нужно из него получить в итоге.



Офлайн

#3 Фев. 24, 2016 16:33:39

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с регулярками

Погоди, а есть разница? Просто исходный текст, и то что нужно получить, может отличаться.
Я уже получил

['&s=']
и хочу
&s=
Как пример исходного текста:
slovo+'&s='+taramparam;
Получить нужно:
&s=

Отредактировано gelius (Фев. 24, 2016 16:37:14)

Офлайн

#4 Фев. 24, 2016 17:26:10

elisk
Зарегистрирован: 2013-04-09
Сообщения: 35
Репутация: +  7  -
Профиль   Отправить e-mail  

проблема с регулярками

import re
#  "slovo+'&s='+taramparam;"
w = "slovo"+'&s='+"taramparam;"
rex = re.compile(r"&.+=")
ss = rex.findall(w)
print(ss)          # ['&s=']
ss = ss[0].replace("'", "")
print(ss)          #  &s=

Офлайн

#5 Фев. 25, 2016 02:06:57

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

проблема с регулярками

gelius
Я уже получил
Там просто непонятно, зачем тебе столько скобок в регулярном выражении. Перегруженность скобками говорит о том, что ты точно не знаешь, как составлять регулярные выражения. А если не знаешь, как составлять, то повышается вероятность того, что не знаешь и как искать (может, там вообще регулярки не нужны).

gelius
Как пример исходного текста:
slovo+'&s='+taramparam;
Получить нужно:
&s=
>>> import re
>>> 
>>> s = """slovo+'&s='+taramparam;"""
>>> 
>>> re.search(r"'([^']*)'", s).group(1)
'&s='
>>>



Отредактировано py.user.next (Фев. 25, 2016 02:10:46)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version