2017-07-28 77 views
0

需要一個正則表達式來從下面的文本得到量(892.33正則表達式找到金額不帶尾隨%符號

Property Tax Allotment 3.76% 892.33 USD 

條件 - 它不應該有尾隨%徵

上午考慮號碼與下面的圖案

\\s?[0-9\\.,]{2,20}(?!\\%)\\s? 

努力,但得到3.76沒有%符號

回答

2

添加負前瞻任何以下數字:(?!$)

\\b[0-9.,]{2,20}(?!\\d)(?!%)\\b 

Live demo

+1

完美。謝謝revo – Ranju

+0

那麼,這個正則表達式即使對於一個IP地址,如192.82.1.1 – MaxZoom

+0

不僅是一個IP地址,但也是一個逗號序列。只要OP確定輸入字符串,這不是問題。 @MaxZoom – revo

1

如何:

\d+\.\d\d(?= USD) 

一個或多個數字\d+後跟文字點\.和兩個數字\d\d,與「USD」 (?= USD)

這將需要一個積極的前瞻稍微修改如果價格的小數部分是可選的。

Try it online

+0

\ d + \ \ d \ d爲我工作 – Ranju

+0

這[包括百分比(HTTPS: //regex101.com/r/aJTRjf/3)。那是你想要的嗎? – Michael

+0

想要沒有$(條件 - 它不應該考慮跟蹤%符號的數字) – Ranju