读书人

正则抓取网页input里面的值,该如何解决

发布时间: 2014-01-09 23:07:34 作者: rapoo

正则抓取网页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}");

读书人网 >C#

热点推荐