2014-09-18 78 views
1

我需要匹配這些事件至少有一個空格:匹配詞兩邊有

  • 「部件」
  • 「的組成部分」
  • 「的組成部分」

但我無法匹配:

  • findForward(「componentSummary」);

因此,需要有至少1字(引號內)周圍的空間,或者在左邊或右邊,並有可能兩者。

我至今正則表達式:

".*\s?[cC]omponent\s?.*" 

但是,這使得無論空間可選。

環境:這是在Eclipse IDE中,我必須搜索此正則表達式以查找相關代碼。

回答

1

有一個\b正則表達式錨只匹配詞的邊緣。

\bcomponent\b 

這將匹配:

"component" 
"component A" 
"A component" 
"A component is missing" 

但不是:

​​
+0

匹配即使目標是沒有加... – dawg 2014-09-18 18:39:34

0

刪除?標記。這是在正則表達式中將空格定義爲可選的。

1

你說「需要有至少1字左右的空間(引號內)」

如果是這樣,您可能需要在一側或目標在引號另一側字字符和空格字符:

"[\s\w]+(\b[Cc]omponent\b)[^"\n]*"|"[^"\n]*(\b[Cc]omponent\b)[\s\w]+" 

Demo