使用以下代码:
string pat = @"ENGL101_.*_(.*)";
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
件: ENGL101_BELIEVE_WRIGHTSTONE.docx
但不是: Engl101_ThisIBelieve_Williams.docx
IgnoreCase开启了 - 问题是什么?
答案 0 :(得分:2)
我不能复制这个问题;两个字符串看起来都与表达式匹配。
[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
问题一定是其他问题,或许?
答案 1 :(得分:0)
我知道这听起来很明显,但你尝试过与
匹配吗?ENGl101_THISIBELIEVE_WILLIAMOS.docx
不忽视案例?
答案 2 :(得分:0)
无法重新编写 - 在Snippet Compiler中尝试并且:
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