String^ matchStr = "eu";
String^ tempHeader;
for (int i = 0; i < header.size(); i++)
{
tempHeader = gcnew String(header[i].c_str());
if (Regex::Match(tempHeader, matchStr, RegexOptions::IgnoreCase))
{
index = i;
}
}
上面是我要用于正则表达式的代码,但是无论如何,它都会进入“ IF”循环,并设置index = i。
最佳答案
这是因为该调用返回一个Match
对象,而不是NULL
。您需要检查Success
属性:
if (Regex::Match(tempHeader, matchStr, RegexOptions::IgnoreCase)->Success)
{
index = i;
}