我想從所有鏈接的文本中刪除(<a href=""></a>
),但標記屬性爲href="site.com"
(例如)的人除外。刪除所有標記<a>用記事本+
<a href="site.com">text</a>
<a href="google.com">text</a>
<a href="yandex.com">text</a>
這就是最後兩個鏈接了。你能告訴它正確的正則表達式嗎(在記事本+ +中)。
我想從所有鏈接的文本中刪除(<a href=""></a>
),但標記屬性爲href="site.com"
(例如)的人除外。刪除所有標記<a>用記事本+
<a href="site.com">text</a>
<a href="google.com">text</a>
<a href="yandex.com">text</a>
這就是最後兩個鏈接了。你能告訴它正確的正則表達式嗎(在記事本+ +中)。
首先,.*
應該是懶惰的,因爲否則的話,你將會超過必要的匹配。
<a href=".*?">.*?</a>
接下來,你可以使用負前瞻,以防止比賽從<a href="site.com">text</a>
和你做這樣的:如果你用什麼替代將是唯一<a href="site.com">text</a>
將留給
<a href="(?!site.com">).*?">.*?</a>
結果。
如果你想保持文本,環繞括號中的文字,並調用它的替換:
<a href="(?!site.com">).*?">(.*?)</a>
而且隨着$1
取代。
謝謝,但我不工作!不要在這個正則表達式中尋找鏈接! –
@ДокторСкальпинг你檢查了正則表達式複選框嗎? http://i.stack.imgur.com/YTTyu.png – Jerry
當然,但你的Notepad ++版本是什麼? –
一個非常簡單的和通用的解決方案可能是:
Find: <a(.*?)>(.*)</a>
Replace: $2
$ 2進行離開超鏈接的文本。
如果我想刪除所有超鏈接但保留文本,這些都不起作用。該示例甚至沒有找到任何鏈接。
<a(.*?)>(.*)</a>
以下正確找到鏈接
<a .*?.*?</a>
但如果我使用$ 1或$二隻是刪除了鏈接&錨文本
我想保持文本
我解決方案:
<a .*?.*?>
這將刪除鏈接的開始標記,並保留文本&剩餘標記 - 然後您可以刪除</a>
請顯示您嘗試過的內容。 – Jerry
給定示例的結果應該是什麼。請修改您的問題以顯示確切的結果。 –
我只知道'.*'刪除所有鏈接,我需要刪除所有鏈接,除了那些href =「site.com」。怎麼做? –