我正在尝试将分布在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+" ")
评论专区