正则表达式:在 Notepad++ 中匹配不以 32 个空格开头的行
Regular Expression: Match lines not starting with 32 spaces in Notedpad++
在 Notepad++ 中,我试图匹配以 32 个连续空格开头的行 not。
我已经有了匹配以 32 个连续空格开头的行的正则表达式:^ {32}.*$
我尝试使用 ^[^ {32}].*$
和 ^[^( {32})].*$
得到相同的错误结果,例如不匹配只有 24 个空格的行。
匹配不到32spaces,后面是非space:http://www.regexr.com/3au2l
^ {0,31}[^ ]
使用否定先行匹配 "not 32 spaces":http://regexr.com/3au2o
^(?! {32})
在这两种情况下,如果需要,添加 .*
以匹配整行。
尝试使用否定前瞻。
(?!^ {32}[^ ]*$)^ +.*$
第一部分(括号内)的作用:匹配以 32 个空格开头的行,并将其排除。
最后,第二部分匹配以任意数量的空格开头的所有行。
直括号内的所有内容构成一个字符 class,所以
[^ {32}]
匹配(不)任何单个字符 、
、{
、3
、2
和 }
。 “(不是)”是因为第一个字符是否定的。 (这没有帮助。)
您正在寻找的是负前瞻:
^(?! {32}).+$
这会测试每一行,如果它后面没有至少 32 个空格,则选择它。要不仅匹配 32 个空格而且不匹配更多,请在第一个内使用另一个前瞻:
^(?! {32}(?! )).+$
在 Notepad++ 中,我试图匹配以 32 个连续空格开头的行 not。
我已经有了匹配以 32 个连续空格开头的行的正则表达式:^ {32}.*$
我尝试使用 ^[^ {32}].*$
和 ^[^( {32})].*$
得到相同的错误结果,例如不匹配只有 24 个空格的行。
匹配不到32spaces,后面是非space:http://www.regexr.com/3au2l
^ {0,31}[^ ]
使用否定先行匹配 "not 32 spaces":http://regexr.com/3au2o
^(?! {32})
在这两种情况下,如果需要,添加 .*
以匹配整行。
尝试使用否定前瞻。
(?!^ {32}[^ ]*$)^ +.*$
第一部分(括号内)的作用:匹配以 32 个空格开头的行,并将其排除。
最后,第二部分匹配以任意数量的空格开头的所有行。
直括号内的所有内容构成一个字符 class,所以
[^ {32}]
匹配(不)任何单个字符 、
、{
、3
、2
和 }
。 “(不是)”是因为第一个字符是否定的。 (这没有帮助。)
您正在寻找的是负前瞻:
^(?! {32}).+$
这会测试每一行,如果它后面没有至少 32 个空格,则选择它。要不仅匹配 32 个空格而且不匹配更多,请在第一个内使用另一个前瞻:
^(?! {32}(?! )).+$