如何在记事本++中删除一行中少于11个但多于8个数字的行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在记事本++中删除一行中少于11个但多于8个数字的行相关的知识,希望对你有一定的参考价值。
如何在记事本++中删除一行中少于11个但多于8个数字的行。这些数字是用字母或空格等彼此分开的。
答案
您的要求是删除具有9或10位数但不多于或少于此数字的行。您可以尝试使用前瞻来处理这个问题。在正则表达式模式下,尝试查找以下模式:
^(?!.*d.*d.*d.*d.*d.*d.*d.*d.*d.*d.*d)(?=.*d.*d.*d.*d.*d.*d.*d.*d.*d).*
然后用空字符串替换它(没有)。按照下面的演示,看模式是否正确标记了相应的行。
编辑:
这是你可以使用的另一种模式,没有前瞻,这在眼睛上更容易:
^D*dD*dD*dD*dD*dD*dD*dD*dD*dD*d?D*$
这再次表示匹配包含9或10位数但不多于或少于此数的任何行。
另一答案
- 按Ctrl + H
- 找到什么:
^(?:D*d){8}(?:D*d){0,3}(?:R|$)
- 替换为:
LEAVE EMPTY
- 检查包裹
- 检查正则表达式
- 全部替换
说明:
^ # beginning of line
(?:D*d){8} # non capture group, 0 or more NON digit and 1 digit, may appear 8 times
(?:D*d){0,3} # non capture group, 0 or more NON digit and 1 digit, may appear 0 upto 3 times
(?:R|$) # non capture group, linebreak or end of file
鉴于:
1234567
12345678
123456789
1234567890
12345678901
123456789012
a1b2c3d4e5f6g7
a1b2c3d4e5f6g7h8
a1b2c3d4e5f6g7h8i9
a1b2c3d4e5f6g7h8i9j0k1l2
给出示例的结果:
1234567
123456789012
a1b2c3d4e5f6g7
a1b2c3d4e5f6g7h8i9j0k1l2
以上是关于如何在记事本++中删除一行中少于11个但多于8个数字的行的主要内容,如果未能解决你的问题,请参考以下文章