本文摘自PHP中文网,作者青灯夜游,侵删。
本节讲正则表达式在js中的使用,注意正则对象是一个引用类型。
初始化:字面量和对象使用
与对象的定义一样,我们可以使用字面量定义正则表达式,也可以使用正则对象来定义正则表达式,他们的区别是使用的转义有一定差别。
在使用字面量的时候,使用/ /把正则表达式包起来,后面可以写上匹配模式或者不写,不写默认不是全局匹配,我们在使用的时候,一般都是使用字面量来初始化,因为这样比较简单,转义也不像字符串那么复杂。
1 2 3 |
|
下面这些需要转义:
正则对象的属性
由于正则对象的属性都可以在字面变量中看得到,所以这些方法用处并不大,知道就好:
exec() 方法(捕获方法)
exec方法执行的结果不是所有匹配的项,而是第一个匹配到的项,他的返回值如下面的代码显示(关于捕获组的概念,我们以后用到了再讲,这里我们知道每次只会匹配一个,在数组的第0个位置返回)
1 2 3 4 5 6 7 8 9 10 |
|
exec方法要注意全局标志 /g 对于执行结果的影响,不写/g的时候,不是全局匹配,每一次执行都是从头开始,写了/g,匹配是全局的,下一次匹配是从上一次的基础之上继续往后匹配,看下面的例子就可以说明这个情况
1 2 3 4 5 6 7 8 9 10 11 12 |
|
加上/g我们再看看结果有什么变化
1 2 3 4 5 6 7 8 9 10 11 |
|
test方法
test方法用于匹配之后返回true false,如果只想知道有无匹配,不想知道具体结果,就用这个。常用于if语句中,判断用户输入是否有效等。
1 2 3 4 5 6 |
|
全局属性
通过RegExp的属性,我们可以获知一些全局的正则信息,比如刚刚匹配输入了什么字符串,上次匹配了哪些信息,这个有点像全局的静态变量,我们看看全局属性支持哪些信息的获取
注意使用长属性名和短属性名都可以获取全局属性。我们下面看看长短属性的使用
不支持的功能
相关教程推荐:JavaScript视频教程
以上就是正则表达式在javascript中怎么使用?的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
javascript 中 setinterval 函数怎么用?
javascript中substr()和substring()之间的区别是什么?
更多相关阅读请进入《正则表达式》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者