javascript正则表达式如果数字不带连字符,则删除引号

javascript正则表达式如果数字不带连字符,则删除引号,javascript,regex,json,Javascript,Regex,Json,仅当匹配表达式是数字且后面没有连字符时,我才希望删除引号。现在,我正在这样做: $obj.replace(/"([\d.-]+)"/g,"$1") 其中$obj是一个JSON.stringify o/p。如果数字后面没有连字符,如何修改正则表达式以删除引号,这样“12”应该转换为12,而“44-45”应该保持原样 感谢您的帮助 从字符类中删除-:数字中没有负数。要仅允许在开头添加可选减号,请在前面添加-? $obj.replace(/"(-?[\d.]+)"/g,"$1") 在这里,您可能还

仅当匹配表达式是数字且后面没有连字符时,我才希望删除引号。现在,我正在这样做:

$obj.replace(/"([\d.-]+)"/g,"$1")
其中$obj是一个JSON.stringify o/p。如果数字后面没有连字符,如何修改正则表达式以删除引号,这样“12”应该转换为12,而“44-45”应该保持原样


感谢您的帮助

从字符类中删除
-
:数字中没有负数。要仅允许在开头添加可选减号,请在前面添加
-?

$obj.replace(/"(-?[\d.]+)"/g,"$1")
在这里,您可能还需要检查是否只有一个小数点,并保留像
“1.2.3.4”
这样的字符串

$obj.replace(/"(-?(\d+\.?\d*|\.\d+))"/g,"$1")
//                 ^^^^^^^^^           a number with optional decimal places
//                           ^^^^^     decimal point followed by digits