需求
字符串全部由英文组成,并且不等于某些特定的字符串。
实现
MDN上JavaScript的正则表达式——RegExp
x(?!y)
只有当 x 后面不是紧跟着 y 时,才匹配 x。例如,/\d+(?!.)/ 只有当一个数字后面没有紧跟着一个小数点时,才会匹配该数字。
例子
var strs = ['abc', 'login', 'user', 'order', 'cba'];
var re = new RegExp('^(?!login|user|order)[a-z]+$');
测试一下
for(var i = 0, len = strs.length; i < len; i++) {
console.log('result:' + re.test(strs[i]));
}
true
false
false
false
true
测试结果,与预期一致。
正则表达式排除法实战
本文介绍如何使用正则表达式的否定前瞻语法来匹配除特定字符串外的其他字符串。通过一个JavaScript示例展示了如何创建一个正则表达式来匹配全部由小写字母组成的字符串,但排除那些等于'login'、'user'或'order'的情况。
2092

被折叠的 条评论
为什么被折叠?



