2013-06-26 81 views
1

我需要查找文本小寫或大寫(使用正則表達式) 我的代碼:查找文本小寫或大寫

static void Main(string[] args) 
{ 
    String s = "String : hello Hello HELLO hEllo "; 
    String patern = @"(hello)"; 
    Regex myRegex = new Regex(patern); 
    foreach (Match regex in myRegex.Matches(s)) { 
     Console.WriteLine(regex.Value.ToString()); 
    } 
} 

這導致:

hello 

我需要導致

hello 
Hello 
HELLO 
hEllo 

你能幫我嗎?

+1

通常這是用改性劑,'i'完成:

或創建你的正則表達式對象時使用RegexOptions.IgnoreCase選項。 '「/你好/我」' – DevZer0

+0

它沒有結果。我不知道 –

+0

希望這可能工作 http://stackoverflow.com/questions/6195270/what-is-the-fastest-way-to-check-whether-string-has-uppercase-letter- in-c – faraaz

回答

0

搜索時,試試這個

String patern = @"[Hh][Ee][Ll][Ll][Oo]"; 
+2

爲什麼這比不區分大小寫的標誌更好? –

+0

不,不......它產生相同的結果......這樣做的另一種方式.. –

+0

它產生相同的結果對於這種特殊情況,但是這並不像其他選項可擴展的,特別是如果搜索項動態加載而不是靜態編碼,這種方法會比它的價值更麻煩。 – dreamlax

6

兩種方式:(我)

String patern = @"(?i)(hello)"; 

開啓區分大小寫的比較,和(α-Ⅰ)恢復默認的區分大小寫的比較。

Regex myRegex = new Regex(patern, RegexOptions.IgnoreCase); 
+0

非常感謝你 –