6

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

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

它不匹配任何东西。我能得到一些帮助吗?谢谢!

4

2 回答 2

14

你的正则表达式很好

field2:\s(.*)

试试这个代码

match = re.search(r"field2:\s(.*)", subject)
if match:
    result = match.group(1)
else:
    result = ""
于 2012-06-07T21:15:34.540 回答
7

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

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

>>> values = re.search(r'field2:\s(.*)', x)
>>> print values.groups()
('YYYY',)
于 2012-06-07T21:16:35.273 回答