我有一个 ASP.net 字符串,我正在尝试从中提取 ID。 这是代码:
public static string getName(string line)
{
string ret = "";
if (!line.Contains("ID="))
return ret;
var regex = new Regex("/.*ID=\".*?\".*/g");
if (regex.IsMatch(line))
ret = regex.Match(line).Groups[1].Value;
return ret;
}
并且 regex.IsMatch(line) 始终返回 false。
最佳答案
您没有在正则表达式中进行分组。在这里
var regex = new Regex("/.*ID=\"(.*?)\".*/g");
^ ^
更新:您匹配正则表达式的方式不正确。这是它的工作原理。
var regex = "ID=\"(.*?)\"";
if ( Regex.IsMatch(line, regex) ){
ret = Regex.Match(line, regex).Groups[1].Value;
}
关于c# - 正则表达式在 C# 中不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21778789/