从记事本++中的行中删除所有数字+符号

Remove all numbers + symbols from line in Notepad++

是否可以删除记事本++中不包含的每一行

a   b   c   d   e   f   g   h   i   j   k   l   m
n   o   p   q   r   s   t   u   v   w   x   y   z

A   B   C   D   E   F   G   H   I   J   K   L   M
N   O   P   Q   R   S   T   U   V   W   X   Y   Z

,   .   '

像那样:

删除非 ascii

.*[^\x00-\x7F]+.*

删除号码

.*[0-9]+.*

正文:

example
example'
example,
example.


example123
éxample è
[example/+
example'/é,
example,*
exa'mple--
example@
example"

您可以使用

^(?![a-zA-Z,.']+$).+$\R?

正则表达式匹配任何不仅由 ASCII 字母、,.' 组成的非空行 (.+)。 \R? 最后匹配一个可选的换行符。

详情:

  • ^ - 字符串的开头
  • (?![a-zA-Z,.']+$) - 如果其模式不匹配,则匹配失败的否定前瞻:[a-zA-Z,.']+ - 1 个或多个 ASCII 字母、逗号、句点或单引号,直到行尾($)
  • .+ - 除了换行符之外的 1+ 个字符
  • $ - 行尾
  • \R? - 一个可选的换行字符(序列)

您可以像这样删除它们:

查找内容:^.*[^a-zA-Z.,'].*$
替换为:``

解释:

  • .* 任何文本
  • 否定字符 class [^...] 任何不需要的字符
  • 然后再.*更多任何文字
  • 需要包裹成^...$才能匹配整行

如果要删除换行符,那么可以使用\r?\n代替$符号。即:^.*[^a-zA-Z.,'].*\r?\n

尝试替换所有匹配项

^.+?[^a-zA-Z,.'\r\n]+(.|\r?\n)