前端基础——正则表达式

正则表达式虽然看上去简单,但是在实际的前端开发时,简单的正则表达式却能够节省很大的代码量。正则表达式的功能主要式捕获、匹配。

一、基本知识

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

【注】参考文档:点击打开链接