要验证这样一个字符串,其中不能包含多个字符

如果我们要验证这样一个字符串:它全部由小写字母构成,长度不超过12位,其中不能包含unfavored或者unwanted。也可 以照章处理,先匹配“长度不超过12位”的小写字母『[a-z]{,12}』,然后写出匹配“不需要匹配内容”的正则表达式, 『(unfavored|unwanted)』,再用否定顺序环视将它“排除”即可,只是这次要注意,不能直接写(?! (unfavored|unwanted))--------(zcl:注意是括号,而不是[],我就是错在这里,但是注意要加上^和$,因为空字符MTrace也认为是匹配正确),因为它只能排除『(unfavored|unwanted)』出现在字符串开头的情况,为了排除它出现在 字符串中的情况,我们要把否定顺序环视改为『(?![a-z]*(unfavored|unwanted))』,这样就确保完整的“排除”,整个表达式就 是(?![a-z]*(unfavored|unwanted))[a-z]{,12}。

ref

http://blog.csdn.net/cj205/article/details/6305905

http://www.cnblogs.com/bvbook/archive/2010/11/03/1867775.html

原文地址:https://www.cnblogs.com/carl2380/p/2327630.html