Skip to main content
 首页 » 编程设计

c#之正则表达式在 C# 中不匹配

2024年01月24日27lexus

我有一个 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; 
}