2012-10-11 48 views
0

我遇到了一個問題,我需要查看提供的字符串是否包含中間3個字符,因爲我正在尋找。正則表達式來檢查中間3個字符

對於如。我們將總是得到9個字符串,其中,中間3個字符我想與例如「abc」比較。如果條件匹配,那麼我想申請一些邏輯。任何人都可以爲我舉個例子嗎?

在此先感謝

+3

在你的情況下,substring聽起來更直截了當。 – assylias

+0

字符串的長度是否固定?子串的中間位置在哪裏? – JustinKSU

+0

... abc ...例如 – Eduardo

回答

4

我猜這就是你想要的

^.{3}abc.{3}$ 
+0

非常感謝Anirudha,這就是我一直在尋找的東西。 – user509755

+0

這是否適用於shell腳本。如果我嘗試像這樣 – user509755

+0

if [「$ 1」== ^。{3} abc。{3} $]; 然後 \t回聲「條件確實匹配!!!」 其他 \t回聲「條件不匹配」 網絡 – user509755

0

這可能使得使用起來更感substringequals

if(s.substring(3, 6).equals("abc")) 
    // ... 

但如果你真的想要一個正則表達式,你可以寫:

if(Pattern.compile("...abc...", Pattern.DOTALL).matcher(s).matches()) 
    // ... 
1

^.*abc.*$

您也可以使用像,^.{3}abc.{3}$只有中間的三個字符相匹配。

0
int mid = (test.length()/2); 
string = string.substring(mid-1, mid+2); 
if (string.equals("abc")) 
{ 
    do stuff 
} 

這是一個使用子字符串獲取中間三個字符的示例。您可能需要添加一個檢查,以防字符串長度小於3個字符以防止出現錯誤。將abc更改爲任何您想要檢查的內容。