我正在尝试对遍布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+" ")