我有这个字符串[lat:50.000]
,我需要得到多少出来,但有时它可能在它的前面一个连字符,因为它可能是一个负数的比赛数量。正则表达式,连字符和不
我已经得到了这个正则表达式[\-]\d+(\.\d{1,10})?
但是它只会匹配数字,如果它在前面有连字符,我需要一个正则表达式,它会匹配和不使用连字符。所以我会留下50.000
或在某些情况下-2.000
。
希望这是有道理的。
我有这个字符串[lat:50.000]
,我需要得到多少出来,但有时它可能在它的前面一个连字符,因为它可能是一个负数的比赛数量。正则表达式,连字符和不
我已经得到了这个正则表达式[\-]\d+(\.\d{1,10})?
但是它只会匹配数字,如果它在前面有连字符,我需要一个正则表达式,它会匹配和不使用连字符。所以我会留下50.000
或在某些情况下-2.000
。
希望这是有道理的。
使用这个表达式:\-?\d+\.\d{1,10}
你需要一个量词声明,连字号是可选:
[\-]?\d+(\.\d{1,10})?
您也可以提高表达了一下,把连字符出来的字符类的(因为它只是一个字符):
-?\d+(\.\d{1,10})?
无需字符类,但是。它可能只是' - ?' – 4castle
是的;我试图不打扰原始正则表达式,所以我添加了另一个版本。 –
完美谢谢:) –
您也可以从连字符去掉逃逸。 –
谢谢,这是删除OP的原始字符组的结果,但忽略了逃脱。 –
下面是一个简单的表达式
\-?\d*\.?\d*
又一之一:
(-?\d[\d.,]+)
# - or not (optional)
# followed by at least a digit
# followed by digits, dots and commas
连字符甚至不需要转义。 –