2014-09-02 50 views
1

我有一個字符串列表,如c++,c,java,c#,.net整個字正則匹配

我必須在某些文本中找到這些字符串的出現。

我試過,

String pattern = "(?i)\\b"+Pattern.quote(str)+"\\b"; 

不過,這並不匹配c++

然後,我刪除了\b,它開始匹配文本中的每個c

如何匹配整個單詞?

樣品字符串

C,C#,C++大學貓牛

+0

給予該用什麼詞你試圖匹配,我們會爲它創建 – Jay 2014-09-02 19:05:14

+0

我已經提到的正則表達式。有幾個像C++,c,java,.net – ralph 2014-09-02 19:06:27

回答

2

\bc\+\+\b不能c++因爲+不被視爲一個單詞字符。 \b只能匹配後的單詞字符不是像非之類的非單詞字符後。

你或許可以用這個表達式:

\bc\+\+(?=\W|$) 

Regex Demo

+0

我該如何使它適用於每一個字符串。有沒有辦法做到這一點?或者我將不得不明確檢查字符串中的「+」字符? – ralph 2014-09-02 19:13:51

+0

您也可以將其用於其他字符串。即使'\ bJava(\ b | $)'也可以。 – anubhava 2014-09-02 19:16:09

+0

我嘗試了他們兩個,但沒有匹配所有的人。我錯過了什麼嗎?我已經提供了示例字符串並尋找單詞'c','c#','C++' – ralph 2014-09-02 19:25:17