删除/更改特定的 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="#"以及第一个匹配的 之前>)。

    笔记:

    如果后续子句(在匹配的之前)>的值字段中有任何 s,它将无法正常工作><a


进一步阅读

答案2

谢谢 David 的回答!但实际上代码:<a .*?href="#">(.*?)</a>在我的文件中没有找到任何属性。这可能是由于其他配置或 notepad++ 版本不同。我不得不使用此代码:

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

相关内容