我有一個字符串,顯示還剩多少時間: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
提交
取消