为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式匹配可选部分

正则表达式匹配可选部分

一只名叫tom的猫 2021-03-19 15:11:11
我有一个字符串,显示还剩多少时间: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()


查看完整回答
反对 回复 2021-03-29
  • 1 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信