特定的正则表达式/正则表达式条件

时间:2013-07-15 13:20:26

标签: java regex

我在抓取特定文本时遇到了麻烦。

我的意见是:

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

我想要抓住所有B1,但是当我尝试这样做时,我会得到B1B144B148,{{ 1}}。我的第一个解决方案是检查以下字符。所以我提出了正则表达式B1。这有两个问题:一个是最终抓住非单词字符,两个不能用“= B1”。

如何获取特定的B1[\W]?对于此示例,我想要第一个和最后一个B1

编辑:我正在使用Java String函数replaceAll

2 个答案:

答案 0 :(得分:2)

确保使用字边界:

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

答案 1 :(得分:2)

使用B1(?!\\d)表示:

  • B1:匹配B1
  • (?!\\d):后面没有数字