常用正则

大写表示“非”。\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。

posted @ 2021-01-04 11:48  九许尘歌  阅读(117)  评论(0编辑  收藏  举报