gpt4 book ai didi

java - 如何将 "=3"与 java 中的单词边界匹配?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:41 24 4
gpt4 key购买 nike

想匹配一个=3的独立单词,但是单词边界\b不行。如何修改以下java代码?

Pattern pattern = Pattern.compile("\\b=3\\b");
String x = " =3 ";
System.out.println(pattern.matcher(x).replaceAll("something"));

目前,上面的代码不能用something替换=3

最佳答案

我能够使用以下正则表达式实现此目的;

(^\B=3\b|(\s)\B=3\b)

强制它在 = 符号之前插入一个边界,并忽略其他边界创建带有 \s 的字符,以及行开头捕获的情况^

所以对于输入

=3 one =3 ==3 .=3 two =3a a=3

"$2something" 替换会产生

"something one something ==3 .=3 two =3a a=3"

查看实际效果 here

替换值中的

$2是为了将\s空间值保留在原来的位置,不破坏原来的字符串,而是隔离=3 个实例。

关于java - 如何将 "=3"与 java 中的单词边界匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43930028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com