diff --git a/Lib/argparse.py b/Lib/argparse.py index 83878b1..5e7b333 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -1256,7 +1256,10 @@ class _ActionsContainer(object): self._defaults = {} # determines whether an "option" looks like a negative number - self._negative_number_matcher = _re.compile(r'^-\d+$|^-\d*\.\d+$') + _ngt_nmbr_pattern = r'^-\d+$|^-\d*\.\d+$|^-\d+\.$|' + _ngt_nmbr_pattern += r'^-\d+\.?[eE][+-]?\d+$|' + _ngt_nmbr_pattern += r'^-\d*\.\d+[eE][+-]?\d+$' + self._negative_number_matcher = _re.compile(_ngt_nmbr_pattern) # whether or not there are any optionals that look like negative # numbers -- uses a list so it can be shared and edited