如何在Python中获得“干净”的匹配结果

时间:2016-08-31 22:16:02

标签: python regex python-2.7 match

我是一个总的菜鸟,第一次编码,并试图通过实践来学习。 我正在使用这个:

import re
f = open('aaa.txt', 'r')
string=f.read()
c = re.findall(r"Guest last name: (.*)", string)
print "Dear Mr.", c

返回

Dear Mr. ['XXXX']

我在想,有没有办法得到像

这样的结果
Dear Mr. XXXX

代替?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您需要获取列表中的第一项

print "Dear Mr.", c[0]

答案 1 :(得分:0)

如果您只期望一场比赛,请使用re.search

re.search(r"Guest last name: (.*)", string).group(1)`

如果您期望多个匹配,则查找是。您可能还希望将?添加到正则表达式(.*?)以获取非贪婪的捕获,但您也可能希望更具体一点,并在名称/短语之后捕获到下一个可能的字符想。