2013-07-15 197 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", "");