2015-04-29 79 views
0

我有一個數據一個記事本,看起來像這樣:正則表達式參數

"$7.49" 
"$124.00" 
"$530.00" 

我如何能夠通過使用像200-1000正則表達式搜索的範圍,但值必須"$XXX.XX"格式。

感謝您的幫助!

+1

您能否通過*精確確定掃描的含義?你想匹配7.49美元,124.00美元......嗎? –

+0

我很抱歉太過於無聊。我想掃描250-1000之間的範圍,但是這些值是「$ XXX.XX」格式。 – gouzz

回答

0

這適用於$ XXX.XX \$\d+\.\d+。範圍的問題是3位數字使用的數字流失到4位數,正則表達式變得更加複雜。

使用正則表達式集[ ]來限制數字/值。

所以我會尋找類似的數字組成,例如200-999.xx這將是

\$[2-9]\d\d\.\d\d

或通過一系列四位爲1000-1500

\$1[1-5]\d\d\.\d\d

+0

可愛它只掃描我想要的,但我怎麼能添加一個範圍到被過濾的值? – gouzz

+0

@gouzz查看更新 – OmegaMan

0

如果你的意思是數字的數字,然後去:\$\d{1,3}\,\d{1,2}

1

你不能容易地操縱n通過正則表達式成員。這是可行的,所以讓我們看看你想要什麼。

  1. 數字形式爲\d+\.\d+,前面沒有零。
  2. 要匹配大於或等於號碼200
  3. 要匹配數字低於或等於1000

那麼,我們來看看我們的數字像他們的字符的字符串。除了1000之外,所有這些都有三位數字。所以,你的正則表達式是這樣的:

\$([2-9]\d\d\.\d\d|1000\.00) 

也就是說,「有三個數字的號碼留給了點,第一個是2以上或1000.00」。

+0

我很少使用*或*,因爲我的模式非常專注(不創建任何回溯),我有時會忘記它的用法。我喜歡你提供的替代品。 +1 – OmegaMan