<td><a href=\"?PID=1575\">Apple=88.5</a></td>
红色内容是想获取出来的,绿色是变动的
string str ="<td><a href=\"?PID=1575\">Apple=88.5</a></td>";
string str1 = "<td><a href=\"?PID=1575\">.*?</a></td>";
MatchCollection mc = Regex.Matches(str, str1, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline);
foreach (Match m in mc)
{
_str[count] = m.Groups[0].Value.ToString();
}
我应该如何处理!
谢谢先!
------解决思路----------------------
string str ="<td><a href=\"?PID=1575\">Apple=88.5</a></td>";
string str1 = "<td><a href=\"?PID=\d+\">(.+?)</a></td>";
MatchCollection mc = Regex.Matches(str, str1, RegexOptions.IgnoreCase );
foreach (Match m in mc)
{
_str[count] = m.Groups[1].Value.ToString();
}
------解决思路----------------------
先匹配
<a\b.*?>.*?</a>
在匹配结果中再匹配
(?<=>).*?(?=<)
想直接写
(?<=<a\b.*?>).*?(?=</a>)报错……
------解决思路----------------------
这样就好了\\d+
------解决思路----------------------
一定要找到问题的根源,然后在操作,单独的?在正则中是有特殊含义的,必须要转义
<td><a href=\"\\?PID=\\d+\">(.+?)</a></td>
string str1 = "<td><a href=\"\\?PID=\\d+\">(.+?)</a></td>";