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