Asp.net achor标记的正则表达式

Asp.net achor标记的正则表达式,asp.net,regex,Asp.net,Regex,希望从锚标记获取href链接。我正在使用 regex = @"<a[^>]*?href\s*=3D\s*[""']? ([^'"" >]+?)[ '""][^>]*?>". regex=@“]*?href\s*=3D\s*[“”]?([^'”>]+?)[“”][^>]*?>”。 如果href在单行中,我可以获得成功,但它在以下方面失败 Text = <a target=3D"_blank" hr= ef=3D"http://abc.com/blog

希望从锚标记获取href链接。我正在使用

regex = @"<a[^>]*?href\s*=3D\s*[""']?    ([^'"" >]+?)[ '""][^>]*?>". 
regex=@“]*?href\s*=3D\s*[“”]?([^'”>]+?)[“”][^>]*?>”。
如果href在单行中,我可以获得成功,但它在以下方面失败

Text = <a target=3D"_blank" hr=
ef=3D"http://abc.com/blog/check-your-cars-health-before-going-on-lo=
ng-trip/">
Text=
正在读取的文件是eml文件,而不是html文件
请为以上内容推荐正确的正则表达式,这就是为什么您不应该真正尝试用正则表达式解析HTML。您可以查看一个健壮的HTML处理库,例如

前一篇SO文章可能有一些内容与您正在做的事情类似。

Description 该正则表达式将:

  • 在锚标记内查找href属性值
  • 避免一些困难的边缘情况

捕获组

[0] => <a onmouseover=' href=" hr=
ef=3D NotTheHrefYoureLookingFor" ; funRotator(href) ; ' target=3D"_blank" hr=
ef=3D"http://abc.com/blog/check-your-cars-health-before-going-on-lo=
ng-trip/">link text
</a>
[1] => http://abc.com/blog/check-your-cars-health-before-going-on-lo=
ng-trip/
[0]=>
[1] => http://abc.com/blog/check-your-cars-health-before-going-on-lo=
ng行程/

在没有第一个空格的情况下尝试,因为我看不到href后面有空格。或者试试\s*,意思是“零或更多”空白。您比我早几秒钟(尽管我并不认为这是一个答案,更多的是一个评论)。这类事情对于正则表达式来说非常困难。我还建议使用HTML Agility Pack@Liath:Yes不应该用正则表达式处理HTML。你为什么认为这应该是一个评论?我确实提出了一种替代OP所要求的方法,并包括了如何做到这一点的信息。这只是因为问题是关于正则表达式的,而不是我如何做到这一点。。。但这只是问题的措辞。我百分之百同意这是正确的方法。我想你的第一条线索应该在OP
中,而不是一个html文件。请为上述内容建议正确的正则表达式