python - Python正则表达式匹配所有5位数字但没有更大
845 人阅读 | 时间:2021年12月07日 11:03
我正在尝试将分布在HTML网页上的5位优惠券代码进行字符串匹配。例如,53232
、21032
、40021
等…我可以用[0-9]{5}
处理任何由5位数字组成的字符串的简单情况,尽管这也与6、7、8…n位数。有人能建议我如何修改这个正则表达式以只匹配5位数字吗?
最佳答案:
>>> import re >>> s="four digits 1234 five digits 56789 six digits 012345" >>> re.findall(r"\D(\d{5})\D", s) ['56789']
如果它们可以发生在最开始或最末尾,那么填充字符串比处理特殊情况更容易。
>>> re.findall(r"\D(\d{5})\D", " "+s+" ")
©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任
来源:ZhiKuGroup博客,欢迎分享。
评论专区