从python中的字符串中捕获选定的文本

时间:2013-04-21 13:52:35

标签: python regex string

变量Field存储如下字符串:

Field = "In Field 'Testing':(Value1) has changed from (1) to (2)"

我正在寻找一种从该变量中提取字段名称的方法,并将其存储为名为name的变量。在上面的示例中,字段名称为Testing

2 个答案:

答案 0 :(得分:2)

您正在寻找的正则表达式是:

'(.*?)'

在Python中你可以写:

>>> import re
>>> Field= "In Field 'Testing':(Value1) has changed from (1) to (2)"
>>> print re.findall("'(.*?)'", Field) #Will print Testing

获得Testing后,我确定您可以像name=Testing

一样打印它

修改

要按照您的意愿打印,您可以:

print ''.join(re.findall("'(.*?)'", Field))

答案 1 :(得分:1)

如果您不想使用正则表达式:

Field.split('\'')[1]

或者换句话说,

first_index = Field.index('\'') //Search for first '
second_index = Field.index('\'', first_index+1) //Search for second '
Field[first_index+1:second_index] //"Testing" //Substring