JS的正则表达式
Posted Corner小丑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS的正则表达式相关的知识,希望对你有一定的参考价值。
概念:
正则表达式是用来检测字符之间的匹配关系的工具,主要用于验证字符也就是说检验用户或者默认字符的合法性。
RegExp类型:
正则表达式的匹配模式支持下列3个标志:
g:表示全局模式,应用于所有的字符,而非在发现第一个匹配项时就立即终止匹配
i:表示不区分大小写模式,在匹配中忽略大小写
m:表示多行模式,即在到达第一行末尾时,还继续查找下一行是否在匹配模式
在模式中使用元字符都要进行转义(\),正则表达式中元字符有
( [ { \ ^ $ | ) ? * + . ] }
字面量模式实例: (第一种正则的创建)
var pat=/[bc]at/i //表示匹配第一个bat或cat 部分大小写
var pat=/ \[bc\]at/i //表示匹配第一个[bc]at不区分大小写
用RegExp构造函数来创建正则,两个参数:匹配字符,标志字符串 (第二种)
var pat=new RegExp("[bc]at","i"); //表示匹配第一个bat或cat 部分大小写
由于RegExp构造函数的模式参数是字符串,所有在某些情况下要对字符串进行双重转义,所有的元字符都要进行双重转义
字面量模式 等价的字符串
/ \[bc\]at/ “\\[bc\\]at”
/\.at/ "\\.at"
正则表达式字面量始终会共享同一个RegExp实例,而构造函数创建的每一个新RegExp实例都会有一个新的实例
第一个循环中,由于正则表达式字面量共享同一个实例,那么当再次循环调用test会失败,是因为第一次匹配到cat那么第二次就是从下标为3开始,结果找不到。
构造函数创建每次创建都会产生新实例,那么每一次从0开始 返回均为true。
以上是关于JS的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章