正则表达式不包括子模式

Alb*_*aro 4 javascript regex

我有代码与一个非常简单的字符串模式匹配: XXnnnnnnnnn (2 alphanumeric, 9 numeric).

我正在使用这个正则表达式: \w{2}\d{9}.

现在我需要通过匹配任何以常量标记' AY' 开头的字符串以及任何带有11个重复字符的字符串(例如' 11111111111'或' 00000000000')来排除.

我怎样才能使用正则表达式排除子模式?

ste*_*ema 5

试试这个

\b(?!AY)(?!(\w)\1{10})\w{2}\d{9}\b
Run Code Online (Sandbox Code Playgroud)

在Regexr上看到它

基本上我只在你的正则表达式中添加了\b 单词boundary以避免部分匹配.

通过使用负前瞻断言来实现您的限制.

(?!AY) 如果模式以"AY"开头,则断言失败

(?!(\w)\1{10}) 如果第一个单词字符重复10次,则断言失败.

在regular-expressions.info上查看断言