简单的python正则表达式,冒号后匹配

时间:2012-06-07 21:12:15

标签: python regex

我有一个简单的正则表达式问题让我发疯。 我有一个变量x = "field1: XXXX field2: YYYY"。 我想要检索YYYY(请注意,这是一个示例值)。 我的方法如下:

values = re.match('field2:\s(.*)', x)
print values.groups()

它不匹配任何东西。我能帮忙解决这个问题吗?谢谢!

2 个答案:

答案 0 :(得分:12)

你的正则表达式很好

field2:\s(.*)

试试此代码

match = re.search(r"field2:\s(.*)", subject)
if match:
    result = match.group(1)
else:
    result = ""

答案 1 :(得分:6)

re.match()仅匹配字符串的开头。您想改用re.search()

此外,您应该使用逐字字符串:

>>> values = re.search(r'field2:\s(.*)', x)
>>> print values.groups()
('YYYY',)