我有一个像下面这样的字符串,我希望得到两个数字“28”和“1”,但是现在我的代码只能得到“28”。请帮帮我。
import re
content="""<span class="lineNum"> 28 </span><span class="lineCov"> 1 : get_pid_file(const char *file, pid_t *pid)</span>"""
pattern = "(\d+)"
ret = re.search(pattern,content)
if ret:
print "find: %s" % ret.group()
答案 0 :(得分:1)
使用re.findall
,
>>> re.findall(r"\d+", content)
['28', '1']
但你可能想要缩小你的正则表达式。
编辑:
您可能希望将正则表达式更改为r"<span.*?>.*?(\d+).*?</span>"
的某些变体,以仅匹配span标记内的数字。
答案 1 :(得分:0)
pattern = "(\d+).*(\d+)"
ret = re.search(pattern,content)
print ret.group(1), ret.group(2)