我試圖獲得一個正則表達式來替換鏈接值的文本字符串中的所有鏈接。所有屬性錨定標記的正則表達式
鏈接可能看起來像這些:
<a href="http://whatever" id="an_id" rel="a_rel">the link</a>
<a href="/absolute_url/whatever" id="an_id" rel="a_rel">the link</a>
我想正則表達式,我得到:the link
謝謝
問候。
我試圖獲得一個正則表達式來替換鏈接值的文本字符串中的所有鏈接。所有屬性錨定標記的正則表達式
鏈接可能看起來像這些:
<a href="http://whatever" id="an_id" rel="a_rel">the link</a>
<a href="/absolute_url/whatever" id="an_id" rel="a_rel">the link</a>
我想正則表達式,我得到:the link
謝謝
問候。
像這樣的東西應該是足夠
<a.*?>(.*)?</a>
/<a[\s]+([^>]+)>((?:.(?!\<\/a\>))*.)<\/a>/g
這人會匹配任何<a ...>...</a>
標籤包括含有<或任何整標記,如正確匹配的:
blah blah <a href="test.html">This line contains an HTML opening < bracket.</a> blah blah
blah blah <a href="test.html">This line contains <strong>bold</strong> text.</a> blah blah
將捕獲:
<a href="test.html">This line contains an HTML opening < bracket.</a>
href="test.html"
This line contains an HTML opening < bracket.
和
<a href="test.html">This line contains <strong>bold</strong> text.</a>
href="test.html"
This line contains <strong>bold</strong> text.
它還包括捕獲組的標籤屬性(如CLA ss =「」,href =「」等)以及包含(標籤之間的內容),如果不需要它們,可以將其刪除。
如果您想跨多行捕獲,請在結尾處的「g」標誌之前或之後添加「s」。請注意,「s」標誌可能不適用於所有類型的正則表達式。
捕獲的例子(不使用「S」標誌 - 不支持regexr尚):http://regexr.com/39rsv
從接受的答案只是一點點修正。這是正確的正則表達式:/<a[^>]*>([^<]+)<\/a>/g
。用於關閉錨標記</a>
的正斜槓(/)
未被轉義,因此不會進行匹配。
試試這個100%的工作
(?i)<a(.*)(")>
相關http://stackoverflow.com/questions/238891/regular-expressions-match-all-anchors-with-optional-attributes – 2014-01-01 20:04:03