I’m attempting to string match 5-digit coupon codes spread throughout a HTML web page. For example, 53232
, 21032
, 40021
etc… I can handle the simpler case of any string of 5 digits with [0-9]{5}
, though this also matches 6, 7, 8… n digit numbers. Can someone please suggest how I would modify this regular expression to match only 5 digit numbers?
Advertisement
Answer
JavaScript
x
5
1
>>> import re
2
>>> s="four digits 1234 five digits 56789 six digits 012345"
3
>>> re.findall(r"D(d{5})D", s)
4
['56789']
5
if they can occur at the very beginning or the very end, it’s easier to pad the string than mess with special cases
JavaScript
1
2
1
>>> re.findall(r"D(d{5})D", " "+s+" ")
2