我發現了很多類似的帖子,但沒有一個可以回答我的問題。我想用特定關鍵字替換/刪除/更改打開和關閉標籤。在這種情況下,我試圖刪除其中的所有標籤,其中包含 href="#" ....
<a href="#">leave this text</a>
<a class="" id="" href="#">leave this text too</a>
<a href="http://......">Dont remove this tag!</a>
我有這段程式碼,但我不知道如何留下文字...
find: <a[^h]*href="#"[^>]*> (skip content) </a>
replace: (same content)
or
replace: <a href="somthing"> (same content) </a>
答案1
我正在嘗試刪除包含的所有標籤href="#"
前:
<a href="#">leave this text</a>
<a class="" id="" href="#">leave this text too</a>
<a href="http://......">Dont remove this tag!</a>
後:
leave this text
leave this text too
<a href="http://......">Dont remove this tag!</a>
正如所指出的AFH在註解中,有一個更好的正規表示式可以捕捉範例資料中未包含的表達式。
將「尋找內容」設定為
<a .*?href="#" .*?>(.*?)</a>
這將匹配有子句的行後(
href="#"
以及第一個匹配之前>
)。筆記:
如果後續子句(符合之前)
>
的 value 欄位中有任何 s,它將無法正常運作>
<a
進一步閱讀
答案2
謝謝大衛的回答!但實際上程式碼:<a .*?href="#">(.*?)</a>
在我的文件中沒有找到任何屬性。可能是因為其他一些配置或notepad++版本不同。我必須使用這段程式碼:
Find: <a[^h]*href="#"[^>]*>(.*?)</a>
Replace: <a href="new_url">\1</a>