我有一个简单的正则表达式问题让我发疯。
我有一个变量x = "field1: XXXX field2: YYYY"
。
我想要检索YYYY
(请注意,这是一个示例值)。
我的方法如下:
values = re.match('field2:\s(.*)', x)
print values.groups()
它不匹配任何东西。我能帮忙解决这个问题吗?谢谢!
答案 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',)