我想从一段中找到一个特定的词。我用边界来找到一个。考虑以下示例。
String para = "Hi how are you. I'm harshita. Hello. Hell. Helld, Hell,";
String keyword = "Hell";
boolean matches = var.matches(".*\\b"+keyword+\\b.*");
System.out.println(matches);
当我在我的 unix 服务器上运行这段代码时,它给了我以下错误。
java.util.regex.PatternSyntaxException:索引 5 附近的非法/不受支持的转义序列
。\bTMTH_EQUIP_IDLE_REASON\b。
^
在 java.util.regex.Pattern.error(Pattern.java:1713)
在 java.util.regex.Pattern.escape(Pattern.java:2177)
在 java.util.regex.Pattern.atom(Pattern.java: 1952)
在 java.util.regex.Pattern.sequence(Pattern.java:1834)
在 java.util.regex.Pattern.expr(Pattern.java:1752)
在 java.util.regex.Pattern.compile(Pattern.java :1460)
在 java.util.regex.Pattern.(Pattern.java:1133)
在 java.util.regex.Pattern.compile(Pattern.java:823)
在 java.util.regex.Pattern.matches(Pattern.java :928)
在 java.lang.String.matches(String.java:2091)
在 com.acc.directory.scanner.SDScanner.main(SDScanner.java:309)
我尝试替换\\b
为,\\\\b
但没有用。它返回假。谁能帮我解决这个问题。我到处搜索,但只给了我一个可以替换\\b
的答案,\\\\b
但它对我不起作用。
PS。这只是一个显示我尝试过的内容和我想要的输出的虚拟示例。我用真实数据运行我的代码,错误来自该输出。