
substrUrl 是链接的值,一般情况是能匹配,但是像这样

代码如下:
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
MatchCollection mc = reg.Matches(substrre);
string substrUrl = string.Empty;
string substrText = string.Empty;
foreach (Match m in mc)
{
substrUrl = m.Groups["url"].Value;//得到href值
substrText = m.Groups["text"].Value.Trim();//得到<a><a/>中间的内容
}
------解决思路----------------------
@"(?is)<a[^>]*?href=(['""]?)\s*(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>"
试试这个
------解决思路----------------------
相关部位加一个 \s* 就行了,表示任意个空白字符,1楼正解。
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)\s*(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
------解决思路----------------------
@"<a[^>]*? href=""\s*(?<url>[^""]*?)""[^>]*?>(?<text>[^<]*?)</a>"
------解决思路----------------------
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(\s*?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");