Найти - Пользователи
Полная версия: Переменная в регулярке
Начало » Python для новичков » Переменная в регулярке
1
spec
Вопрос нубский, но в нете че-то не нашел на него ответ.
string = '0 1 2 3 4 5 6 7 8 9 10 11 12'
var = 12
m = re.findall(r'\d+',string)
Тут все понятно, получим список с “печеньками”.
>>> m
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
А как в шаблон ‘\d+’ вписать var?
spec
Через compile, разобрался.
@cckyi_boxxx
Через compile, разобрался.
как через компиле , когда мне приходилось динамически запиливать регулярки я делал так :

1) из того текста откуда брались динамические части регулярки вытягивал их
2) re.findall(eval(“r'some flood(' + хрень из первого пункта + ‘)some flood’” , string)

основной проблемой было то что когда я пытался запилить так :
regex = r'some flood(' + хрень из первого пункта + ')some flood'
а потом переменную regex передать финдаллу то он ничего не находил , потом я потестировал это дело и пришел к выводу что во втором случае по непонятным мне причинам переменная создавалась такой какбуд-то не юзался raw string

короче мне хотелось-бы увидеть код как ты решил эту проблему
spec
http://python.su/forum/topic/11666/
@cckyi_boxxx
интересный способ , хоть там raw и не юзаеться но такое может проканать и с ним
GaiveR
потом я потестировал это дело и пришел к выводу что во втором случае по непонятным мне причинам переменная создавалась такой какбуд-то не юзался raw string

regex = r'some flood(' + хрень из первого пункта + ')some flood'

в данном случае, например, в виде сырой строки у тебя записана только часть:
r'some flood('
всё остальное - как обычные строки.
@cckyi_boxxx
точняк во я тупанул , а так если переменную в сырую строку добавлять через %s то по идее все будет сырой строкой , или я не прав ?
odnochlen
Сырая строка - это литерал, выражение, которое определяет строку. И сырая строка, и сухая - экземпляр класса str (или unicode).

py.user.next
>>> pat = 'abc {0} def {1}'.format(1, 2)
>>> pat
'abc 1 def 2'
>>>
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