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的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

寻 js正则表达式

js正则表达式替换捕获内容

简单的js正则表达式问题

如何用js匹配url的正则表达式

JS正则表达式基础认知

js验证密码的正则表达式