Удаление/изменение определенных тегов HTML NotePad++

Удаление/изменение определенных тегов HTML NotePad++

я нашел много похожих постов, но ни один из них не отвечает на мой вопрос. Я хотел бы заменить/удалить/изменить открывающий и закрывающий теги определенным ключевым словом. в этом случае я пытаюсь удалить все теги с 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="#"

  • Меню «Поиск» > «Заменить» (или Ctrl+ H)

  • Установите «Найти что» на<a .*?href="#">(.*?)</a>

  • Установите «Заменить на»\1

  • Включить «Регулярное выражение»

  • Нажмите «Заменить все».

    Изображение

До:

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

Как отметилАФХв комментарии есть лучшее регулярное выражение, которое будет отлавливать выражения, не включенные в образец данных.

  • Установите «Найти что» на<a .*?href="#" .*?>(.*?)</a>

    Это будет соответствовать строкам, где есть предложенияпосле( href="#"и до первого сопоставления >).

    Примечание:

    Он не будет работать правильно, если >в поле значения последующего предложения (перед сопоставлением >) <aесть какие-либо символы s.


дальнейшее чтение

решение2

Спасибо Дэвиду за ответ! Но на самом деле код: <a .*?href="#">(.*?)</a>не нашел никаких атрибутов в моем файле. Возможно, это из-за других конфигураций или разных версий notepad++. Мне пришлось использовать этот код:

 Find:    <a[^h]*href="#"[^>]*>(.*?)</a>
 Replace: <a href="new_url">\1</a>

Связанный контент