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