如何使用 Notepad++ 删除与特定模式匹配的行

如何使用 Notepad++ 删除与特定模式匹配的行

我需要保留包含用户名和密码的行,如下所示:

username:password

我需要删除没有相关用户名的行,如下所示:

:password

完整示例文件包含:

username:password
:password0
username:password1
username:password2
:password
username:password4
:password2
username2:password5

所需结果:

username:password
username:password1
username:password2
username:password4
username2:password5

答案1

您可以使用(\s:.)([^\s]+)正则表达式和Replace with留空选项来获得预期结果。

打开文档后记事本++只需按下Ctrl+H然后转到Replace选项卡。从那里,只需将 放入字段(\s:.)([^\s]+)Find what:并留空Replace with,确保Regular expression已选中该选项,然后按Replace All选项。

本质上这将:

查找以空格开头,后跟冒号,后跟:任意字符,直到下一个空格,与此匹配的字符串,其中:password字符串之间有尾随空格和前导空格。

截屏

在此处输入图片描述

username:password :password0 username:password1 username:password2 :password username:password4 :password2 username2:password5

或者

username:password
:password0
username:password1
username:password2
:password
username:password4
:password2
username2:password5

username:password username:password1 username:password2 username:password4 username2:password5

或者

username:password

username:password1
username:password2

username:password4

username2:password5

如果上述操作不适用于此格式,请转到Edit并选择EOL Conversion选项,然后选择UNIX/OSX Format,然后返回到相同的选项,然后选择Windows Format,这样所有的回车符和换行符都会恢复为 Windows 格式CR/LF

完成后,您可以转到Edit并选择Line Operations,然后选择Remove Empty Lines选项,您将获得所需的精确格式,删除空行。

username:password
username:password1
username:password2
username:password4
username2:password5

更多资源

答案2

  • Ctrl+H
  • 找什么:^:.+\R?
  • 用。。。来代替:LEAVE EMPTY
  • 检查环绕
  • 检查正则表达式
  • 请勿检查. matches newline
  • Replace all

解释:

^         # beginning of line
  :       # semicolon
  .+      # 1 or more any character but newline
  \R?     # any kind of linebreak (ie. \r, \n, \r\n), optional (in order to delete the last line)

给定示例的结果:

username:password
username:password1
username:password2
username:password4
username2:password5

相关内容