2016-04-13 92 views
-1

我有字符串,例如-15。我只需要找到-XX(其中X是一個數字),示例-15-19沒有小數點(-19.5等)。正則表達式找到沒有小數點的負數

我嘗試這樣做:

\b-\d{2}\b(?!\.\d) 

這:

\b\-\d{2}\b(?!\.\d) 

但他們什麼都不做。如何製作正則表達式來執行此操作?

+0

刪除第一個'\ b' –

+1

那麼當有人沒有正確解釋他們的答案時會發生什麼... – Rizier123

+2

是否有任何理由需要使用正則表達式來代替這個,而不是僅僅使用ceil( )等? – iainn

回答

0

你可以使用這個表達式:

-\d{2}(?!\.\d)\b 

Live Demo on Regex101

有兩個原因你一個不能正常工作。

首先,您需要刪除第一個\b

其次,您需要在負向預測之後移動第二個\b。否則,它會找到字邊界,然後試圖找到.和數字。你希望它找到.和後邊有單詞邊界的數字,而不是之前。

+0

感謝您的幫助! – Aleksey

+0

還有一個問題。我有正則表達式 (\ b \ d {1,2} \。\ d {1,2} \ b) - 「8.50或22.20」 但我的正則表達式將字符串返回給我......「10.0/75「 我該如何避免它? – Aleksey

+0

我覺得這個對不對? (\ b \ d {1,2} \。\ d {1,2}(?!。\ d)) – Aleksey