2010-06-25 6 views

ответ

3

Я бы использовал более простое решение, избегая регулярных выражений.

Split на «=» и получить значение в позиции, которую вы ожидаете

text = 'some spaces variable = 7 = ...' 
if '=' in text: 
    chunks = text.split('=') 
    assignedval = chunks[1]#second value, 7 
    print 'assigned value is', assignedval 
else: 
    print 'no assignment in line' 
+0

Хотя нет ничего плохого (?) С учебным регулярным выражением, и они могут быть полезными, я очень люблю эту цитату: у вас есть соответствующая проблема, поэтому вы думаете: «Ага! Я буду использовать регулярное выражение!» Теперь у вас две проблемы. –

2

Использовать regular expression.

По существу, вы создаете выражение, которое выглядит примерно так: "variable = (\d+)", выполните совпадение, а затем возьмите первую группу, которая даст вам строку 7. Затем вы можете преобразовать ее в int.

Прочтите учебное пособие по ссылке выше.

0

Basic регулярного выражения фрагмента кода, чтобы найти число в строке.

>>> import re 
>>> input = " some spaces variable = 7 = '0x07' some more data" 
>>> nums = re.findall("[0-9]*", input) 
>>> nums = [i for i in nums if i] # remove empty strings 
>>> nums 
['7', '0', '07'] 

Отъезд documentation и How-To на python.org.

Смежные вопросы