0

我无法抓取特定的文本。

我的输入是:

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

我想抓住所有B1的,但是当我试图这样做时,我得到了B1, B144, B148, B1. 我的第一个解决方案是检查以下字符。所以我想出了正则表达式B1[\W]。这样做有两个问题:一是它最终会抓取非单词字符,二是它不能与“=B1”一起使用。

如何获取特定B1的 s?对于这个例子,我想要第一个和最后一个B1

编辑:我正在使用 Java 字符串函数 replaceAll

4

2 回答 2

2

确保使用单词边界:

String repl = str.replaceAll("\\bB1\\b", "");
于 2013-07-15T13:26:52.143 回答
2

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

  • B1: 匹配B1
  • (?!\\d): 后面没有数字
于 2013-07-15T13:26:59.717 回答