使用下面的代碼:C#regexoptions.ignorecase似乎並沒有工作
string pat = @"ENGL101_.*_(.*)";
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
匹配: ENGL101_BELIEVE_WRIGHTSTONE.docx
但不是: Engl101_ThisIBelieve_Williams.docx
IGNORECASE是導通 - 問題是什麼?
使用下面的代碼:C#regexoptions.ignorecase似乎並沒有工作
string pat = @"ENGL101_.*_(.*)";
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
匹配: ENGL101_BELIEVE_WRIGHTSTONE.docx
但不是: Engl101_ThisIBelieve_Williams.docx
IGNORECASE是導通 - 問題是什麼?
無法攝製 - 試圖摘錄編譯器和:
public static void RunSnippet()
{
string pat = @"ENGL101_.*_(.*)";
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
Match m = r.Match("ENGL101_BELIEVE_WRIGHTSTONE.docx");
WL(m.Success);
m = r.Match("Engl101_ThisIBelieve_Williams.docx");
WL(m.Success);
}
返回
True
True
我知道這聽起來很明顯,但你嘗試過對
ENGl101_THISIBELIEVE_WILLIAMOS.docx
不匹配忽略大小寫?
我不能複製這個問題;這兩個字符串看起來都與表達式匹配。
[STAThread]
static void Main()
{
string pat = @"ENGL101_.*_(.*)";
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
Console.WriteLine(r.IsMatch(@"ENGL101_BELIEVE_WRIGHTSTONE.docx"));
Console.WriteLine(r.IsMatch(@"Engl101_ThisIBelieve_Williams.docx"));
}
輸出:
True
True
的問題一定是別的東西,也許?
我同意。使用「匹配」和「替換」工作正常。 – skyfoot 2010-10-14 15:43:17
沒有看到任何問題與此有關。這個對我有用。 你的代碼是否匹配? – skyfoot 2010-10-14 15:40:43
它確實是'Engl'而不是'EngI'; '101'而不是'1O1'? – 2010-10-14 17:46:58