2013-07-15 194 views
0

我無法抓取特定的文本。特定的正則表達式/正則表達式條件

我輸入的是:

PMT(B1+B144+B145*1/12.0,B148+B149*1*12.0,B1) 

我想抓住所有的B1的,但是當我嘗試這樣做,我得到B1B144B148B1。我的第一個解決方案是檢查以下字符。所以我想出了正則表達式B1[\W]。這有兩個問題:一個最終抓住了非單詞字符,另外兩個不能與「= B1」一起工作。

我怎樣才能抓住特定的B1?對於這個例子,我想第一個和最後一個B1

編輯:我使用的是Java字符串函數的replaceAll

+1

我的眼睛受傷了。無論如何,你使用什麼語言/口味? – HamZa

+0

我正在使用java字符串函數replaceAll – Taztingo

回答

2

使用B1(?!\\d)這意味着:

  • B1:比賽B1
  • (?!\\d):之後沒有數字
+1

整潔謝謝。 – Taztingo

2

確保你使用的單詞邊界:

String repl = str.replaceAll("\\bB1\\b", "");