簡體   English   中英

achor標簽的正則表達式

[英]Regular Expression for achor tag

想從錨標簽獲取href鏈接。 我在用

regex = @"<a[^>]*?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/">

正在閱讀的文件是eml文件而不是html文件請為上面提供正確的正則表達式

您不應該真正嘗試使用正則表達式解析HTML, 本質上就是原因。 您可以查看一個強大的HTML處理庫,例如HTML Agility Pack

以前SO后可能有一些東西,確實沿着你在做什么東西行。

描述

這個正則表達式將:

  • 在錨標記內找到href屬性值
  • 避免一些困難的邊緣情況

<a\\b(?=\\s)(?=(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\\s>]*)*?\\shr=.*?ef=3D['"]([^"]*)['"]?)(?:[^>=]|='[^']*'|="[^"]*"|=[^'"\\s]*)*"\\s?\\/?>.*?<\\/a>

在此輸入圖像描述

示范文本

請注意onmouseover中的difficutl邊緣情況

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

捕獲組

[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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM