JSON编号正则表达式

Joe*_*ley 10 regex json

我正在尝试为JSON中的数字字符串编写正则表达式.我仍然是编写正则表达式的新手,我在这里找到了一个JSON数字的机器图,但我不确定如何攻击它.

以下是正则表达式应该找到的一些字符串."22","55.75466"," - 44.565""55e-2""69234.2423432 E78"任何帮助表示赞赏!

And*_*ong 19

作为参考,这是来自http://www.json.org/fatfree.html的"数字"图:

JSON号码

应该匹配的正则表达式是:

-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?
Run Code Online (Sandbox Code Playgroud)

  • 我只是按照图表从左到右.例如,首先你选择下去遇到`-`,或者直接跳过`-`.在正则表达式中,这可以表示为" - ?",或"零或一个`-`s".然后,路径再次在"0"和以"1"开头的一系列数字之间分裂(以防止像"0123"这样的数字,因为JSON不支持八进制).在正则表达式中,这可以用"交替"来表示,它看起来像这样:``(?:xxx | yyy)``其中`xxx`和`yyy`是可能的"路径".等等.如果您需要对正则表达式进行更深入的解释,请告诉我们. (3认同)