正则表达式创建方法:
i (忽略大小写)
g (全文查找出现的所有匹配字符)
m (多行查找)
y (执行“粘性”搜索,匹配从目标字符串的当前位置开始,可以使用y标志。)
1.字面量法:const regex = /ab+c/.
2.调用RegExp对象的构造函数:let regex = new RegExp("ab+c","gi");
正则表达式中的特殊字符含义
1.\ 反斜杠是转义字符,表示下一个字符是特殊字符。
2.^ 表示开头。
3.$ 表示结尾。
4.* 表示匹配前一个表达式0次或者多次,等价于{0,}。
5.+ 匹配前面一个表达式1次或者多次,等价于{1,}。
6.? 匹配前面一个表达式0次或者1次,等价于{0,1}。+?表示前面一个表达式只匹配一次。
7.. 小数点 匹配除换行符之外的任何单个字符。/.n/ 匹配an。
8. (x) 括号,匹配'x'并记住匹配项。?捕获括号,拥有记忆功能,在正则中用\1\2表示,使用第一个,第二个,在替换环节用$1,$2表示第一个,第二个
9. (?:x) 匹配x但是不记住匹配项,非捕获括号。
9.1 (?<=y)x 匹配x,仅仅当x前面是y时,后行段言
9.2 x(?=y) 匹配x,仅仅当x后面跟着y时,这种叫做后行断言
9.3 x(?!y) 匹配x,仅仅当x后面不跟着y时,这种叫做正向否定查找
10.{n} n是一个正整数,匹配前面一个字符刚好发生了n次。
11.{n,m} 匹配前面的字符至少n次,最多m次。如果 n 或者 m 的值是0, 这个值被忽略,优先匹配多次的.
12. x|y 匹配x或者y
13.[xyz] 方括号表示一个字符合集,匹配方括号中的任意字符。
14.[^xyz] 一个反向字符集。匹配没有任何包含在字符集中的字符,包含数字,区分大小写,包含其他字符。
15.[\b] 匹配一个退格。不要和\b搞混
16.\b 匹配一个词的边界,就是出现在开头或者结尾
16.1 \B 匹配一个非单词边界
17. \w 匹配一个单子字符(字母,数字,或下划线)等价于[A-Za-z0-9_]
18. \W 上面表达式的取反,除上诉符号之外的其他符号
19. \s 匹配一个空白字符 包括空格、制表符、换页符和换行符。 /\s\w*/ 匹配"foo bar."中的' bar'。
20. \S 匹配一个非空白符 /\S\w*/ 匹配"foo bar."中的'foo'。
21. \d 匹配一个数字
22. \D 匹配一个非数字
使用正则表达式的方法
regExp的exec和test,
test:判断该字符串是否符合正则表达式,返回True或者False
exec:找出第一个匹配的字符,返回一个数组包含匹配的内容和下标
String中的match,replace,search,split
match:返回所有匹配到的列表组成的数组
search:返回匹配到第一个值的下标索引
replace:替换,替换所有匹配值
split:分隔
参考链接 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions