Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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# 正则表达式查找<;输入名称>;_C#_Regex - Fatal编程技术网

C# 正则表达式查找<;输入名称>;

C# 正则表达式查找<;输入名称>;,c#,regex,C#,Regex,我读过这篇文章: 并将该正则表达式字符串修改为: string regexStr = "(?<1><\s*input\s+[^>]*)(?:(?<2>\sname\s*=\s*)(?<3>\w*find_me\w*)(?<4>[^>\s]*)(?<5>\3))(?<6>[^>]*>)"; var r = new Regex(regexStr, RegexOptions.IgnoreCase |

我读过这篇文章:

并将该正则表达式字符串修改为:

string regexStr = "(?<1><\s*input\s+[^>]*)(?:(?<2>\sname\s*=\s*)(?<3>\w*find_me\w*)(?<4>[^>\s]*)(?<5>\3))(?<6>[^>]*>)";
var r = new Regex(regexStr, RegexOptions.IgnoreCase | RegexOptions.Singleline);
string regexStr=“(?]*)(?:(?\sname\s*=\s*)(?\w*查找我\w*)(?[^>\s]*)(?\3))(?[^>]*>);
var r=新正则表达式(regexStr,RegexOptions.IgnoreCase | RegexOptions.Singleline);
我正试图找到这个:

<INPUT TYPE="hidden" NAME="FIND_ME" VALUE="">

上面提到的正则表达式找不到任何东西

如果我将:\wfind\u me\w更改为“”,则它将查找所有输入

怎么了

1) 我需要查找输入&NAME=“查找我” 2) 我不知道是否会有任何其他参数(可能有也可能没有),主要是输入&NAME=“FIND ME”。

是这样做的:

(?<1><\s*input\s+[^>]*)(?:(?<2>\s*type\s*=\s*)(?<3>[""'])(?<4>[^>\s]*)(?<5>\3))(?:(?<6>\sname\s*=\s*)(?<7>[""'])(?<8>find_me)(?<9>[^>\s]*)(?<10>\3))(?<11>[^>]*>)
(?]*)(?:(?\s*type\s*=\s*)(?[“”])(?[^>\s]*)(?\3))(?:(?:(?\sname\s*=\s*)(?[“”])(?[^>\s]*)(?\3))(?[^>]*>)

我相信您知道,但是使用正则表达式解析HTML是个坏主意。您需要为您选择的语言找到一个框架,允许您解析HTMl文本。正如npinti指出的,HTMl不是一种常规语言,因此不适合使用正则表达式进行解析。至于正则表达式,您至少应该使用一个逐字字符串文字。至于解决方案:使用HtmlAgilityPack,搜索一个
input
标记,该标记具有
name属性,其中包含
FIND_ME`。我想这就是你需要的。