Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “”之间字符串的.Net正则表达式\_C#_Regex_Substring - Fatal编程技术网

C# “”之间字符串的.Net正则表达式\

C# “”之间字符串的.Net正则表达式\,c#,regex,substring,C#,Regex,Substring,我一直在尝试从下面的文本中获取id <body id=\"body\" runat=\"server\"> 在C语言中,使用子字符串甚至正则表达式,但似乎什么都不起作用。不管我用什么正则表达式,我总是能把整行代码都取回来。我一直在尝试使用^id、^id.*、^id=\\\\\\\\\\.*和id=.*但它们要么不起作用,要么无法提供所需的输出。是否有任何方法可以从包含在字符\\之间的文本中获取id部分 试试这个: string htmlString = "<

我一直在尝试从下面的文本中获取id

<body id=\"body\" runat=\"server\"> 
在C语言中,使用子字符串甚至正则表达式,但似乎什么都不起作用。不管我用什么正则表达式,我总是能把整行代码都取回来。我一直在尝试使用^id、^id.*、^id=\\\\\\\\\\.*和id=.*但它们要么不起作用,要么无法提供所需的输出。是否有任何方法可以从包含在字符\\之间的文本中获取id部分

试试这个:

        string htmlString = "<body id=\"body\" runat=\"server\">";

        Regex regex = new Regex("id=\"(.*?)\"");
        Match m = regex.Match(htmlString);
        Group g = m.Groups[1];
        string id = g.ToString();

        Console.WriteLine(id); //body
在此处测试:

花点时间阅读帮助中心中的。堆栈溢出上的格式设置与其他站点不同。你的帖子越好看,别人就越容易阅读和理解。。。但是正如regex标记中所指出的:请求HTML、JSON等,regex往往会遇到负面反应。如果有语法分析器,请使用它。即使将HTML转换为简单文本并使其看起来像body id=\body\runat=\server\这样的字符串,也不可能吗?然后尝试在这个字符串上使用正则表达式