正则表达式是用于检索字符串中符合某种特定规则的字符或者字符合集。拥有字面量和构造函数两种创建方式,也是一个内置对象类型,拥有test()、exec()两个常用的实例方法。是由模式和标记两部分组成,当以参数传递给构造函数时是以字符串格式传递。
/pattern/flags
pattern部分是由字符构成--普通字符和特殊字符。普通字符就是字母数字这些代表字面含义的字符串,特殊字符指的不是字面含义的字符串--.^$-[]{}?*+等。特殊字符里有一个字符是转义字符--去除原本意义,转变成另一种意义的字符。转义字符能把特殊字符转换为普通字符,也能把普通字符转换为特殊字符,只需要再字符的前面使用反斜杠\就可以。比如,想匹配特殊字符字符串,想用普通字符匹配某些特殊的字符--\b、[\b]、\n、\f、\v、\t、\s、\S、\d、\D、\w、\W;
一对一,或多对多直接编写pattern部分就行;如果想一对多(匹配多个单字符)就要使用到集合[]、范围-、循环{a,b},也有相应的简写形式。
单词边界\b;字符串边界:^字符串的开头字符,$字符串的结束字符。
想要匹配多个多字符串需要用到分组(regexp),通过\0、\1、\2、、(str.replace("pattern","1,$2"))方式进行对分组的引用,须在分组后才能引用。负/向前引用happ(?!regexp)/(?=regexp)、负/向后引用(?<!regexp)/(?<!regexp)ple。
本文章参照优秀文章整理:juejin.cn/post/684490…