You can put a ?
after a group of characters to make it optional.
You want a dot followed by any number of digits \.\d+
, grouped together (\.\d+)
, optionally (\.\d+)?
. Stick that in your pattern:
import re
print re.match("(\d+(\.\d+)?)", "3434.35353").group(1)
3434.35353
print re.match("(\d+(\.\d+)?)", "3434").group(1)
3434