我有這個字符串[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
連字符甚至不需要轉義。 –