Notepad++ 正则表达式:行不包含特定模式
Notepad++ regular expression: line does not contain certain pattern
我有以下对象列表:
type="user" N="ag12345" status="active"
type="user" N="he98745" status="active"
type="user" N="user1" status="active"
type="user" N="84566" status="active"
type="user" N="iu78965" status="active"
我需要找到标签 "N" 与模式 @@##### 不匹配的行。换句话说,必须将有效用户创建为两个连续的字母字符和 5 个数字。
我正在寻找的正则表达式应该显示以下行:
type="user" N="user1" status="active"
type="user" N="84566" status="active"
我已经尝试了很多很多东西,但我似乎无法理解如何做到这一点。
我的一个尝试是:
查找内容:
type=user" N="(?![\l]{2}[\d]{5})" status="active"
还有:
type=user" N="(?![\l]{2})(?![\d]{5})" status="active"
但它不起作用:(
你快到了。使用 [a-z]
而不是 [\l]
,\l
不会匹配任何小写字母。如果您想同时处理大写和小写,请使用 [a-zA-Z]
.
type="user" N="(?![a-z]{2}\d{5}")[^"]*" status="active"
[^"]*
,否定字符 class 匹配任何字符但不匹配 "
,零次或多次。
我有以下对象列表:
type="user" N="ag12345" status="active"
type="user" N="he98745" status="active"
type="user" N="user1" status="active"
type="user" N="84566" status="active"
type="user" N="iu78965" status="active"
我需要找到标签 "N" 与模式 @@##### 不匹配的行。换句话说,必须将有效用户创建为两个连续的字母字符和 5 个数字。 我正在寻找的正则表达式应该显示以下行:
type="user" N="user1" status="active"
type="user" N="84566" status="active"
我已经尝试了很多很多东西,但我似乎无法理解如何做到这一点。
我的一个尝试是: 查找内容:
type=user" N="(?![\l]{2}[\d]{5})" status="active"
还有:
type=user" N="(?![\l]{2})(?![\d]{5})" status="active"
但它不起作用:(
你快到了。使用 [a-z]
而不是 [\l]
,\l
不会匹配任何小写字母。如果您想同时处理大写和小写,请使用 [a-zA-Z]
.
type="user" N="(?![a-z]{2}\d{5}")[^"]*" status="active"
[^"]*
,否定字符 class 匹配任何字符但不匹配 "
,零次或多次。