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

标签 c# .net regex

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

相关文章:

c# - Photon Networking Unity AllProperties 未设置

javascript - 如何调用c#编写的javascript函数,c#中按钮的onkeypress

C# 清除 session

java - 多个组的正则表达式问题

javascript - JS : matching entries with capture groups, 占新行

c# - Visual Studio C# 共享项目中的静态文件(JS、CSS 等)

c# - 更改 css 样式表并将所选样式表保存到数据库

c# - 如何写入 .NET Core 中的文件?

.net - .net 核心中的 nuget 目标文件的等价物是什么

python - 为什么我不能使用正则表达式挖出某些字符串的某些 ID?