我想删除所有带有文字的行,但 html 标签除外:
<p class="bandy">Cars and jupiter</p>
Comentezi folosind contul tău WordPress pentru a nu induce in eroare.
</p>
<p class="mb-40px">I love you</p>
Seems to be a happy day with you next to me.
</li>
<p class="simony">Select original books</p>
bunica isi face cumparaturile la magazin.
输出
<p class="bandy">Cars and jupiter</p>
</p>
<p class="mb-40px">I love you</p>
</li>
<p class="simony">Select original books</p>
我的正则表达式不太好:
寻找:.*^(?!<p class=).*
替换为:LEAVE EMPTY
答案1
- Ctrl+H
- 找什么:
^.*<.+?>.*$(*SKIP)(*F)|.
- 用。。。来代替:
LEAVE EMPTY
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
^ # begining of line
.* # 0 or more any character
<.+?> # any tag
.* # 0 or more any character
$ # end of line
(*SKIP) # skip this match
(*F) # and declare a failure
| # OR
. # any character
截图(之前):
截图(之后):
答案2
使用以下内容:
- Ctrl+H
- 找什么:
^((?!<p class=.+</p>).)*$
- 用。。。来代替:
LEAVE EMPTY
- 查看 相符
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
或者
- 找什么:
^((?!<p class=).)*$
- 用。。。来代替:
LEAVE EMPTY
答案3
使用以下内容:
- Ctrl+H
- 找什么:
^[^</>\r\n]+$
- 用。。。来代替:
LEAVE EMPTY
- 查看 相符
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all