前端基础——正则表达式
正则表达式虽然看上去简单,但是在实际的前端开发时,简单的正则表达式却能够节省很大的代码量。正则表达式的功能主要式捕获、匹配。
一、基本知识
1.组成部分:
元字符,限定符号,转义字符,分组,分支条件,反义字符,后向引用。
2.在线测试网站:
https://regex101.com/(非常好用,强烈推荐)
3.元字符:
4.限定字符:
5.字符集:
6.转义字符
在书写正则表达式的时候,我们会遇到匹配特定字符的情况,这时候就需要将字符串进行转义。转义就是在需要转义的特殊字符前面加上"\"。
7.分支条件
有几种规则,只要满足其中任何一种规则都当作匹配。使用时用"|"隔开每个规则,但在实际运用的时候,需要注意分支条件的顺序,因为在匹配分支条件的时候,是按照从左到右的顺序,一旦左边有规则符合,则不会再匹配后面的规则,就相当于if-else的判断。
8.分组
9.反义
有时需要查找不属于某个能简单定义的字符类的字符。比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义
10.后向引用
11.贪婪匹配与懒惰匹配
例如:
(1) a.*b——它将会匹配最长的以a开始,以b结束的字符串,如果用它来搜索aabab的话,它会匹配整个字符串aabab
(2)a.*?b——它将会匹配最短的以a开始,以b结束的字符串,如果用它来搜索aabab的话,它会匹配整个字符串aab和ab
二、使用方法
1.test
功能:对指定字符串进行一个正则表达式的匹配
语法:RegExp.test(String)
结果:返回Boolean,若匹配,则返回True;若没有匹配,则返回False
2.match
功能:获取正则表达式的匹配结果
语法:String.match(RegExp)
结果:返回Array,存放匹配的结果,数组的第一个元素为整个字符串;若没有匹配,则返回Null
3.replace
功能:替换字符,返回
语法:String.replace(RegExp,需要的替换字符)
结果:返回String,是已经被替换的字符串
4.exec
功能:对指定的字符串进行正则表达式搜索
语法:RegExp.exec(String)
结果:返回Array,存放匹配的结果;若没有匹配,则返回Null
5.search
功能:对指定的字符串进行正则表达式搜索
语法:String.search(RegExp)
结果:返回Number,若找到一个匹配,则返回第一个匹配的下标;若没有找到匹配,则返回-1
四、示例
1.判定QQ电话号码在5-12位之间
Reg = /^[1-9]\d{3,10}\d$/
2.请在下列单词中找到以a开头的单词
bear alien aborb
Reg = /\ba\w*/g
3.将字符串b78se12ee567eee中的数字取出
Reg = /\d*/g
【注】参考文档:点击打开链接