我想從段落中找出特定的詞。我用邊界找到一個。考慮下面的例子。邊界無法找到段落中的特定關鍵字
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)
at java.util.regex.Pattern.sequence(Pattern.java:1834)
at 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(帕ttern.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
,但沒有奏效。它返回false。 任何人都可以請幫我我應該如何解決這個問題。我到處搜索,但只給我一個答案,以取代\\b
與\\\\b
,但它不適合我。
PS。這只是一個虛擬的例子來展示我嘗試過什麼以及我想要什麼輸出。我用真實數據運行我的代碼,並從該輸出中獲取錯誤。
看起來像你忘了報價:'布爾匹配= var.matches(「。* \\ b」+關鍵字+「\\ b。*」);' –
請檢查第3行中的引號。什麼是'var '? –
抱歉,我在發佈問題時犯了錯誤。但在我的代碼中,這些事情是正確的。請引導我使用邊界。 –