常用正则
大写表示“非”。\d表示digit数字,非数字就是\D。 \w表示word,非单词就是\W。
1、不以 小写字母 开头
/^(?![a-z])/
2、不是小写字母和数字
/[^0-9a-z]/
\W 可以配置 非字母和数字,等价于 [^a-zA-Z0-9]
3、匹配连续重复的字符 \1
\1必须与小括号()配合使用。正则表达式中的小括号"()",代表分组。
()()\2\1类似这样的,这里讲的很好: https://www.cnblogs.com/uoar/p/7419552.html
有时候需要匹配的不止一个分组,多个分组如何匹配? \1匹配第一个小括号中的内容, \2匹配第二个小括号中的内容,依次类推
解释:([a-z])先匹配第一个a,\1匹配与前一个相同的字符即第二个a
实战:
/([\w_!@#$%^&*`~()\-+=])\1{2,}/.test(str) // 设置密码时校验不允许连续3个及以上相同字符,允许大小写字母、数字、特殊符号`~!@#$%^&*()_-+=
4、?=、?<=、?!、?<! 的使用区别
exp1(?=exp2):查找 exp2 前面的 exp1。
(?<=exp2)exp1:查找 exp2 后面的 exp1。
exp1(?!exp2):查找后面不是 exp2 的 exp1。
(?<!exp2)exp1:查找前面不是 exp2 的 exp1。
转发请备注出处
【公众号:缃言的调调】
【公众号:缃言的调调】