查找标签中包含的单词,如果是,则删除该标签(使用正则表达式)

查找标签中包含的单词,如果是,则删除该标签(使用正则表达式)

我有 2 个 html 标签。但只有第一个标签包含这两个词:元素小部件。所以我想找到所有包含这两个词的 html 标签,如果找到,就删除整个标签。

<p class="jopp">.elementor-widget-text-editor: nu (.Elementor-drop-cap-view-default) .Elementor  s  50px} .Elementor-widget-text-editor .Elementor-drop-cap-letter {display: inline-block}</p>

<p class="jopp">Sunt fascinat de cazuri legale despre artă.</p>

我尝试制作一个公式正则表达式,但是不起作用:

(<p class="jopp>).*\K(?:\h+(elementor|widget))(?=.*p>)

答案1

使用 Notepad++:

  • Ctrl+H
  • 找什么:<p (?=(?:(?!</p>).)*?elementor)(?=(?:(?!</p>).)*?widget).+?</p>\R?
  • 用。。。来代替:LEAVE EMPTY
  • 打钩 环绕
  • 选择 正则表达式
  • 取消勾选 . matches newline
  • Replace all

解释:

<p                                  # open tag
(?=(?:(?!</p>).)*?elementor)        # positive lookahead, make sure we have "elementor" somewhere after but not preceeded by "</p>"
(?=(?:(?!</p>).)*?widget)           # positive lookahead, make sure we have "widget" somewhere after but not preceeded by "</p>"
.+?                                 # 1 or more any character
</p>                                # close tag
\R?                                 # optional any kind of linebreak

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

答案2

我找到了答案

使用以下内容:

  • Ctrl+H
  • 找什么:(<p class="jopp">).*(\b(elementor|widget)\b.*).*(</p>)
  • 用。。。来代替:LEAVE EMPTY
  • 查看 相符
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

相关内容