要提取的页面源码如下
<input type="hidden" name="openid.pape.max_auth_age" value="ape:MA==" />
<input type="hidden" name="openid.ns" value="ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLj=A" />
<input type="hidden" name="openid.ns.pape" value="ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvZXh0ZW5zaW9ucy9wYXBlLzEuMA==" />
<input type="hidden" name="pageId" value="ape:dXNmbGV4" />
<input type="hidden" name="openid.identity" value="ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLjAvaWRlbnRpZmllcl9zZWxlY3Q=" />
<input type="hidden" name="openid.claimed_id" value="ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLjAvaWRlbnRpZmllcl9zZWxlY3Q=" />
<input type="hidden" name="openid.mode" value="ape:Y2hlY2tpZF9zZXR1cA==" />
<input type="hidden" name="openid.assoc_handle" value="ape:dXNmbGV4" />
<input type="hidden" name="openid.return_to" value="ape:aHR0cHM6Ly93d3cuYW1hem9uLmNvbS9ncC9jc3MvaGlzdG9yeS9vcmRlcnMvdmlldy5odG1sP2llPVVURjgmcmVmXz15YV9fb3JkZXJzX25vYXV0aA==" />
<div id="ap_signin1a_pagelet" class="ap_table ap_pagelet">
<div id="ap_signin1a_pagelet_title" class="ap_row ap_pagelet_title">
<h1>Sign In</h1> </div>
如上红色部分为我想要提出出来的内容, 我使用的正则表达式是 (?i)(?<=openid.ns" value=").*(?=" />)
但得不到想要的结果,求大牛帮忙改进下,给出正确的答案!
<input type="hidden" name="openid.pape.max_auth_age" value="ape:MA==" />
<input type="hidden" name="openid.ns" value="ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLj=A" />
<input type="hidden" name="openid.ns.pape" value="ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvZXh0ZW5zaW9ucy9wYXBlLzEuMA==" />
<input type="hidden" name="pageId" value="ape:dXNmbGV4" />
<input type="hidden" name="openid.identity" value="ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLjAvaWRlbnRpZmllcl9zZWxlY3Q=" />
<input type="hidden" name="openid.claimed_id" value="ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLjAvaWRlbnRpZmllcl9zZWxlY3Q=" />
<input type="hidden" name="openid.mode" value="ape:Y2hlY2tpZF9zZXR1cA==" />
<input type="hidden" name="openid.assoc_handle" value="ape:dXNmbGV4" />
<input type="hidden" name="openid.return_to" value="ape:aHR0cHM6Ly93d3cuYW1hem9uLmNvbS9ncC9jc3MvaGlzdG9yeS9vcmRlcnMvdmlldy5odG1sP2llPVVURjgmcmVmXz15YV9fb3JkZXJzX25vYXV0aA==" />
<div id="ap_signin1a_pagelet" class="ap_table ap_pagelet">
<div id="ap_signin1a_pagelet_title" class="ap_row ap_pagelet_title">
<h1>Sign In</h1> </div>
如上红色部分为我想要提出出来的内容, 我使用的正则表达式是 (?i)(?<=openid.ns" value=").*(?=" />)
但得不到想要的结果,求大牛帮忙改进下,给出正确的答案!
Regex reg = new Regex(@"(?is)<input[^>]*?name=""openid\.ns""[^>]*?value=""([^""]+)""[^>]*?>");
foreach (Match m in reg.Matches(str))
Console.WriteLine(m.Groups[1].Value);
//ape:aHR0cDovL3NwZWNzLm9wZW5pZC5uZXQvYXV0aC8yLj=A