记事本++的正则表达式:行不包含特定模式

问题描述:

我有以下对象名单:记事本++的正则表达式:行不包含特定模式

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" 

,但它不工作:(

+0

请注意,您的问题可以大大简化......这个问题没有太多用记事本++做的,它甚至少做一个“对象列表” ......你是只是试图找到不符合给定模式的行...我个人想要一种方法来寻找否定搜索匹配模式的行。但那只是我。 – UpAndAdam 2015-04-01 15:36:47

+0

如果您正在尝试学习正则表达式,请尝试阅读http://www.grymoire.com/Unix/Regular.html – UpAndAdam 2015-04-01 15:37:36

你几乎没有使用。 [a-z]而不是[\l]\l不会匹配任何小写字母如果你想要处理大写和小写,那么使用[a-zA-Z]

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

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

DEMO

+0

完美工作!非常感谢!虽然我不明白[^“] *是做什么或为什么\ d不需要括号。 – Chchappa 2015-04-01 15:36:36

+0

你不需要在括号内包含'\ d'。 '\ d = [\ d]'。由于你是新来的*,我建议你阅读[this](http://*.com/help/accepted-answer) – 2015-04-01 15:37:47

+0

我正在等待5-10分钟才能接受它XD。虽然我没有足够的声望投票。完成,并再次感谢 – Chchappa 2015-04-01 15:42:24