Notepad ++正则表达式:行不包含某些模式

时间:2015-04-01 15:26:55

标签: regex notepad++

我有以下对象列表:

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"

但它不起作用:(

1 个答案:

答案 0 :(得分:2)

你快到了。使用[a-z]代替[\l]\l将不匹配任何小写字母。如果您想处理大写和小写,请使用[a-zA-Z]

type="user" N="(?![a-z]{2}\d{5}")[^"]*" status="active"

[^"]*,否定字符类,匹配任何字符但不匹配",零次或多次。

DEMO