我有一个字符串,显示还剩多少时间:text = """ 9d 15h left <br /> some other text not important 12h 5m left <br />""" pattern = "((\d+)d)?.*left <br />"我想匹配天数,即9。但是,如果缺少,我想匹配一个空字符串。这就是我得到的>>> re.findall(pattern,text)[('', ''),('', '')]但是我要找的是>>> re.findall(pattern,text)[('9d', '9'),('', '')]
1 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
您缺少模式中的空格:
任何一个:
re.search(r"[ ]+((\d+)d)?.*left <br />", text).groups()
或之前的文字
re.search(r"((\d+)d)?.*left <br />", text.strip()).groups()
添加回答
举报
0/150
提交
取消