我正在使用Perl将一些
XML转换为
JSON.如果XML属性是一个数字,我不想在其上放置引号,以便JSON将其视为数字而不是字符串.如何知道Perl字符串是否为数字(仅包含数字0到9,可能只包含一个小数点)?
解决方法
JSON specification为一个数字的格式提供了相当明确的规则,因此以下正则表达式应该可以正常工作:
/^-?(0|([1-9][0-9]*))(\.[0-9]+)?([eE][-+]?[0-9]+)?$/