正则表达式:删除每行第四个字母不包含“:”的所有行

正则表达式:删除每行第四个字母不包含“:”的所有行

例如:

abc1234:sdfasdfd
abc:sdfsaffsfs

它将删除带有 的行abc1234但保留abc

答案1

根据您的标准匹配行的 RE,即没有冒号作为第四个字符,是^...[^:]

  • ^行首
  • ...三个通配符
  • [^:]不是(^)冒号(:

在 Notepad++ 中,使用Ctrl F打开“查找”对话框,转到 [标记] 选项卡,然后选择为行添加书签。运行搜索以将不匹配的行添加书签。

现在转到搜索 > 书签 > 删除书签行,您选择的行将被删除。

答案2

另一种方法是一步到位:

  • Ctrl+H
  • 找什么:^...[^:].*\R?
  • 用。。。来代替:LEAVE EMPTY
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

解释:

^           # beginning of line
  ...       # 3 any character but newline
  [^:]      # 1 character that is not colon
  .*        # 0 or more any character
  \R?       # optional any kind of linebreak

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容