如何匹配一个表达式而不匹配另一个表达式

时间:2012-12-10 11:29:58

标签: asp.net .net regex

我正在尝试创建一个.NET正则表达式(用于ASP.NET RegularExpressionValidator控件),该表达式匹配[First Name] [Space] [Surname]格式的名称,但不是匹配是否输入了特定名称,比如米老鼠

此表达式适用于第一部分:

^[a-zA-Z]{2,}\s{1}[a-zA-Z]{3,}$

这个似乎适用于第二部分:

[^Mickey Mouse]

但我似乎无法将这两者结合成一个表达式

1 个答案:

答案 0 :(得分:4)

您目前使用的是否定字符类。它匹配不属于字符集Mick的单个字符......您明白了。

如果你想确保你的字符串不是序列Mickey Mouse,你需要使用否定的先行断言:

^(?!Mickey Mouse$)[a-zA-Z]{2,}\s[a-zA-Z]{3,}$