正则表达式
介绍
正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript 中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法,以及 String 的 match、matchAll、replace、search 和 split 方法。
而正则表达式的用途也十分广泛,比如哔哩哔哩的弹幕屏蔽,输入密码时的密码复杂度判断,都是我们日常生活中经常遇见的,可谓是用处极大
正则表达式的在线测试网站:https://regex101.com/
语法
限定符
?
? 代表前面的字母需要出现0次或者1次,也就是前面的字符可有可无
*
* 代表前面的字母可以没有,也可以出现多次
+
+ 会匹配出现一次及其以上的字母

如果这时候我们想要更精确的匹配,比如要指定前面字母出现的次数,我们可以使用{}。例如在{}中填写上6,则意味着匹配前面的字母出现六次的字符
如果我们希望字符出现的次数在2-6之间,我们可以使用{2,6},如果我们希望出现的字符出现在两次以上,则省略后面的数字即可{2,},但注意别忘了中间的逗号
匹配多个字符的重复
() 这时候我们可以选择将想要匹配的多个字符用括号括起来,比如我们想要匹配多次的ab,则可以写成(ab)+,这样就会匹配ab这两个字符的重复情况了
或运算
当我们想要匹配字符 a cat或者a dog,就可以将正则表达式写成a (cat|dog),这时候会先去匹配a空格,然后再去匹配cat和dog 这时候中间的竖线是必不可少的,要注意要用括号包住,不然就是比配的a cat和dog
字符类
当我们想要找寻由abc三个字母构成的单词,我们可以写成[abc]+,方括号里面的字符要求里面的内容只能取自于这三个字母

同时这里可以指定范围 使用-就可以指定范围,例如[a-z]+就是匹配a-z的所有小写字母组成的单词
如果要匹配除去它以外的所有字符,可以在前面加上一个^,比如[^0-9]+就是匹配除了数字以外的所有内容(包括换行符)
元字符
正则表达式的大多数元字符都是以\开头
\d代表数字字符\w代表单词字符,也就是所有的英文 数字以及下划线\s代表空白符,包含了tab和换行符\D和小写相对,就是代表所有的非数字字符\W代表所有的非单词字符\S代表所有的非空白字符.代表任意字符但不包含换行符^只会匹配行首$只会匹配行尾
贪婪和懒惰匹配
默认情况下,正则表达式的.是使用的贪婪匹配,尽可能的多去匹配,我们只需要在匹配的限定次数(比如+就是匹配一次及其以上)后面加上一个?即可,这时候将会从贪婪匹配切换到懒惰匹配
总结
