diff --git a/test/test.py b/test/test.py index fdabc11..45248b5 100755 --- a/test/test.py +++ b/test/test.py @@ -317,7 +317,6 @@ def test_yaml_1_2(self): def test_yaml_1_1_octals(self): self.assertEqual(self.run_yq("on: -012345", ["-y", "."]), "'on': -5349\n") - self.assertEqual(self.run_yq("on: -012349", ["-y", "."]), "'on': -012349\n") @unittest.expectedFailure def test_yaml_1_2_octals(self): diff --git a/yq/loader.py b/yq/loader.py index b20047b..4ff6aa5 100644 --- a/yq/loader.py +++ b/yq/loader.py @@ -87,33 +87,13 @@ }, { "tag": "tag:yaml.org,2002:int", - "regexp": re.compile( - r"""^(?: - # [-+]?0b[0-1_]+ # (base 2) - [-+]?0[0-7]+ # (base 8) - |[-+]?0o[0-7]+ # (base 8) - |[-+]?(0|[1-9][0-9]*) # (base 10) - # |[-+]?0[0-7_]+ # (base 8) - # |[-+]?0o[0-7_]+ # (base 8) - # |[-+]?(0|[1-9][0-9_]*) # (base 10) - # |[-+]?0x[0-9a-fA-F_]+ # (base 16) - # |[-+]?[1-9][0-9_]*(:[0-5]?[0-9])+ # (base 60) - )$""", - re.X - ), + "regexp": re.compile(r"^(?:|0o[0-7]+|[-+]?(?:[0-9]+)|0x[0-9a-fA-F]+)$", re.X), "start_chars": list("-+0123456789"), }, { "tag": "tag:yaml.org,2002:float", "regexp": re.compile( - r"""^(?: - [-+]?([0-9][0-9]*)?\.[0-9.]*([eE][-+][0-9]+)? (base 10) - |[-+]?[0-9][0-9]*(:[0-5]?[0-9])+\.[0-9]* (base 60) - # |[-+]?([0-9][0-9_]*)?\.[0-9.]*([eE][-+][0-9]+)? (base 10) - # |[-+]?[0-9][0-9_]*(:[0-5]?[0-9])+\.[0-9_]* (base 60) - |[-+]?\.(inf|Inf|INF) # (infinity) - |\.(nan|NaN|NAN) # (not a number) - )$""", + r"^(?:[-+]?(?:\.[0-9]+|[0-9]+(\.[0-9]*)?)(?:[eE][-+]?[0-9]+)?|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$", # noqa re.X, ), "start_chars": list("-+0123456789."),