正则表达式的基础知识
相信很多小伙伴应该都听说过正则吧,那么正则到底是什么呢,让我们一起来学习吧!
一.认识正则表达式
正则表达式,super string。 正则表达式(regular expression)是一个描述字符模式的对象。
ECMAScript 的 RegExp 类,表示正则表达式,而 String 和 正则表达式都定义了,进行强大的【模式匹配】和【文本检索】与【替换】的函数。 现在我们了解了正则表达式,那该如何创建和使用呢?
二.创建正则表达式
1.字面量的方式创建。
2.构造函数的方式创建。
正则的构成:/规则/修饰符。
三.正则的使用
1.正则的方法
(1)test
概念:是用来检测字符串是否符合我们正则的标准。
语法:正则.test(字符串)。
返回值:boolean。
示例:
(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都可以。
现在我们就可以把若干符号组合在一起使用了。
示例:验证手机号码
五.正则的应用
正则表达式就分享到这里啦。【逆战】