我正在尝试在 Notepad++ 中删除包含 3 个以上单词的行。我在 Google 上似乎找不到“单词”的表达方式,而且我无法使用“字符数”,因为这不可行。
答案1
在 Notepad++ 中,您可以使用以下正则表达式进行搜索替换:查找内容: ^\S+[ \t]+\S+[ \t]+\S+.*(\r\n)?
替换为:(无)
取消选中“环绕”,搜索模式为“正则表达式”。
解释:
Leading^
表示行的开头。
\S
匹配非空白字符;因此\S+
匹配连续的非空白字符,即单词。
[ \t]+
将空格和制表符匹配为单词边界。
.*
表示任何字符;我们前面已经有三个单词了,因此我们只需包含所有内容,直到到达新行。
\r\n
对于 Windows 文件来说表示新行。
答案2
我可以为此做出贡献吗?正如 Kenneth 所说,\r\n 表示 Windows 文件中的新行。如果您的文件编码为 UTF8(可能现在最常见),则换行符将仅为 \n(而不是 \r\n)。因此 Kenneth 的代码应变为:
^\S+[ \t]+\S+[ \t]+\S+.*(\n)