使用下面的代码: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