C#关与正则匹配链接的问是,这段代码怎么修改?

图片说明

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/>中间的内容
   } 
 Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(\s*?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");

href后面加上\s*

直接用xml类库来解析,获取attibute href。比正则简单

 (?<url>[^'""\s>]+)

去掉[]里面的\s就行了吧

 (?<url>[^'"">]+)

同意 showbo 去掉 \s就可以了

同意 showbo 去掉 \s就可以了