|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
匹配1-12 这12个数字,其实就是月份,只匹配1,2,3…12
其他数字都不要,有好的办法么?
re.match(r"[1-9]|1[012]",'99') 这样写发现不满足需求。正则还不太熟,想了半天没有想到解决方案
本帖最后由 Krant5 于 2017-7-22 13:50 编辑
你这个不合理,假如说我要匹配 1月,那我传进去 12或者13又有什么区别呢?用来提取的数字是几位的?表示有什么区分吗?
但是如果说指定位数的话,很容易解决,限制单词边界即可
- >>> import re
- >>> re.match(r"[1-9]|1[012]",'99')
- <_sre.SRE_Match object; span=(0, 1), match='9'>
- >>> re.match(r"\b[1-9]\b|\b1[012]\b",'99')
- >>> re.match(r"\b[1-9]\b|\b1[012]\b",'12')
- <_sre.SRE_Match object; span=(0, 2), match='12'>
- >>> re.match(r"\b[1-9]\b|\b1[012]\b",'9')
- <_sre.SRE_Match object; span=(0, 1), match='9'>
- >>>
复制代码
|
|