我在抓取特定文本时遇到了麻烦。
我的意见是:
PMT(B1+B144+B145*1/12.0,B148+B149*1*12.0,B1)
我想要抓住所有B1
,但是当我尝试这样做时,我会得到B1
,B144
,B148
,{{ 1}}。我的第一个解决方案是检查以下字符。所以我提出了正则表达式B1
。这有两个问题:一个是最终抓住非单词字符,两个不能用“= B1”。
如何获取特定的B1[\W]
?对于此示例,我想要第一个和最后一个B1
。
编辑:我正在使用Java String函数replaceAll
答案 0 :(得分:2)
确保使用字边界:
String repl = str.replaceAll("\\bB1\\b", "");
答案 1 :(得分:2)
使用B1(?!\\d)
表示:
B1
:匹配B1
(?!\\d)
:后面没有数字