正则表达式:删除行上的所有单词/字符串,html 标签除外

正则表达式:删除行上的所有单词/字符串,html 标签除外

我想删除所有带有文字的行,但 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

相关内容