正则表达式的基础知识

相信很多小伙伴应该都听说过正则吧,那么正则到底是什么呢,让我们一起来学习吧!

一.认识正则表达式

正则表达式,super string。 正则表达式(regular expression)是一个描述字符模式的对象。

ECMAScriptRegExp 类,表示正则表达式,而 String 和 正则表达式都定义了,进行强大的【模式匹配】和【文本检索】与【替换】的函数。 现在我们了解了正则表达式,那该如何创建和使用呢?

二.创建正则表达式

1.字面量的方式创建。

2.构造函数的方式创建。

正则的构成:/规则/修饰符。

三.正则的使用

1.正则的方法

(1)test

概念:是用来检测字符串是否符合我们正则的标准。

语法:正则.test(字符串)。

返回值:boolean。

test有些问题:只要有一部分符合正则规则,那么我就验证为true。

示例:

         

(2)exec

概念:是把字符串中符合条件的内容捕获出来。

语法:正则.exec(字符串)。

返回值:把字符串中符合正则要求的第一项以及一些其他信息,以数组的形式返回。

exec在处理正则的时候,对于g很敏感,如果有g那么一次匹配之后会继续向下匹配,如果没有g每次都从头匹配。

示例:

 

2.字符串的方法

(1)search()

概念:是查找字符串中是否有满足正则条件的内容。

语法:字符串.search(正则)。

返回值:有的话返回开始索引,没有返回-1。

示例:

(2)match()

概念:找到字符串中符合正则条件的内容返回。

语法:字符串.match(正则)。

返回值:没有标识符g的时候,是和exec方法一样;有标识符g的时候,是返回一个数组,里面是匹配到的每一项。

示例:

(3)replace()

概念:是将字符串中满足正则条件的字符串替换掉。

语法:字符串.replace(正则,要替换的字符串)。

返回值:替换后的字符串。

示例:

四.正则的组成

1.元字符

正则表达式元字符是包含特殊含义的字符。它们有一些特殊功能,可以控制匹配模式的方式。

(1). :匹配非换行的任意字符。
(2)\ :转译符号,把有意义的符号转换成没有意义的符号,把没有意义的符号转换成有意义的符号。
(3)\s :匹配空白字符(空格/制表符/..)。
(4)\S :匹配非空白字符。
(5)\d :匹配数字。
(6)\D :匹配非数字。
(7)\w :匹配数字字母下划线。
(8)\W :匹配非数字字母下划线。

2.限定符

限定符是配合元字符使用的。

(1)* :前一个内容重复至少0次,也就是可以出现0 ~正无穷次。
(2)+:前一个内容重复至少1次,也就是可以出现1 ~正无穷次。
(3)?:前一个内容重复0或者1次,也就是可以出现0 ~ 1次。
(4){n}:前一个内容重复n次,也就是必须出现n次。
(5){n,} :前一个内容至少出现n次,也就是出现n ~正无穷次。
(6){n,m}:前一个内容至少出现n次至多出现m次,也就是出现n ~ m次。

3.边界符

边界符是限定字符串的开始和结束的。

(1)^ :表示开头。

(2)$:表示结尾。

4.特殊符号

(1)() :限定一组元素。
(2)[]:字符集合,表示写在[]里面的任意一个都行。
(3)[^] :反字符集合,表示写在[^]里面之外的任意一个都行
(4)-:范围,比如a-z表示从字母a到字母z都可以。
(5)| :或,正则里面的或a|b表示字母a或者b都可以。

现在我们就可以把若干符号组合在一起使用了。

示例:验证手机号码

 

五.正则的应用

正则表达式就分享到这里啦。【逆战】

 

posted @ 2020-03-15 15:39  我爱敲代码0000  阅读(249)  评论(0编辑  收藏  举报