正则表达式的作用
1.正则表达式可以从字符串中查找需要的数据
2.正则表达式可以从字符串中获取想要的数据
3.正则表达式可以从字符串中替换需要的数据。
正则表达式的三种书写方式
1./…/ 以/开头,以/结尾中间的内容为正则表达式/[abc]/
2. new RegExp对象
let regex = new RegExp("[abc]")
上述的代码可以将一个字符串转化为正则表达式
3.let regex = new RegExp(/[abc]/)
正则表达式两个方法
test():返回一个boolean值,代表是否匹配 :返回值为true或false
exec():返回一个数组,数组中存放的是正则匹配的元素
方法
1.[ ^ ]:如果中括号中以^开头,代表非类似于!
2.\d:代表匹配任意一个数字,等价于[0-9]
3.\D:等价于[ ^ 0-9 ]
4.\w: 匹配字母,数字和下划线中的任意一个
5.\W:等价于^\w
6.\s:空白字符(空格和tab制表产生的空白符)
7.\S:除空白符之外的所有字符
8. .匹配除换行符之外的所有任意一个字符
9. .:匹配一个点
匹配多个字符的方法
贪婪式表达式
X*:匹配0到多个元素,等价于X{0,}
X+:至少匹配一个,等价于X{1,}
X?:匹配最多一个,等价于X{0,1}
非贪婪式表达式
X*?匹配0到多个
X+?至少匹配一个
X?? 匹配0到1个
作用:尽可能少的取匹配
非贪婪式最好用在结尾,不然都会匹配到
限定符
^:如果出现在正则的第一个位置,则代表以什么开头
$;如果出现在正则的尾部代表以什么结尾
选择符
|:意思就是或
()的目的是为了限制或的范围
还可以用exec打印出括号的内容
引用\num:
代表引用第几组匹配的内容
命名捕获组
?: 非捕获匹配
exec()方法
返回一个数组,数组中索引为0的元素是整个正则表达式匹配的内容;
索引大于0的数据,代表的是正则表达式中子表达式匹配的内容(分组);
index属性代表匹配的元素的索引位置
groups:用来获取命名捕获分组匹配的数据
input:原始字符串