日期:2014-05-17  浏览次数:20942 次

正则抓取网页input里面的值
想写调正则匹配下面html里面 input的值

<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTE5NDA1MDQ0Ng9kFgICAQ9kFgYCBQ8WAh4HVmlzaWJsZWhkAgcPFgIfAGhkAgkPFgIfAGhkZA==" />
</div>

请问c#正则源码应该怎么写

------解决方案--------------------
string text = @"<div class=""aspNetHidden"">
<input type=""hidden"" name=""__VIEWSTATE"" id=""__VIEWSTATE"" value=""/wEPDwUKLTE5NDA1MDQ0Ng9kFgICAQ9kFgYCBQ8WAh4HVmlzaWJsZWhkAgcPFgIfAGhkAgkPFgIfAGhkZA=="" />
</div>";
            string value = Regex.Match(text, @"(?i)<div[^>]*?class=(['""]?)aspNetHidden\1[^>]*?>\s*?<input[^>]*?value=(['""]?)(?<value>[^'""]*?)\2[^>]*?>\s*?</div>").Groups["value"].Value;
            ///wEPDwUKLTE5NDA1MDQ0Ng9kFgICAQ9kFgYCBQ8WAh4HVmlzaWJsZWhkAgcPFgIfAGhkAgkPFgIfAGhkZA==

------解决方案--------------------
引用:
Quote: 引用:

正则 value="[^"]+"

能贴出完整的代码吗




 string BaseString = @"<div class=""aspNetHidden"">\r\n<input type=""hidden"" name=""__VIEWSTATE"" id=""__VIEWSTATE"" value=""/wEPDwUKLTE5NDA1MDQ0Ng9kFgICAQ9kFgYCBQ8WAh4HVmlzaWJsZWhkAgcPFgIfAGhkAgkPFgIfAGhkZA=="" /></div>";

            string pattern = @"<input type=""hidden"" name=""__VIEWSTATE"" id=""__VIEWSTATE"" value=""(?<MyValue>[^""]+)"" />";
            Regex reg = new Regex(pattern, RegexOptions.IgnoreCase);
            Match mac = reg.Match(BaseString);
            string val = mac.Result("${MyValue}");