(八)RegExp类型

2019-03-18  本文已影响0人  萘小蒽

js通过RegExp类型来支持正则表达式。

var expression =  / pattern / flags ;

模式(pattern)部分可以是任何的正则表达式。每个正则表达式都可以带一个或多个标志(flag)以表明正则表达式的行为。


flag匹配模式支持下列3个标志


匹配字符串中所有“at”的实例。
var pattern = / at / g; 

****
匹配第一个“bat”或者“cat”,不区分大小写。
var pattern = / [bc]at / i; 

匹配所有以“at”结尾的三个字符的组合,不区分大小写。
var pattern = / .at /gi; 

2. 特殊元字符与转义

正则表达式中元字符所有字符如下

( [ { \ ^ $ | ) ? * + . } ]

当前需求匹配的字符包含以上元字符的时候,比如匹配"[bc]at",那我们需要对他们进行转义。比如

匹配第一个”[bc]at“,不区分大小写;
var pattern = /\[bc\]at/i
匹配所有”.at“,不区分大小写;
var pattern2 = /\.at/gi

3. RegExp实例属性

上面的例子都是用字面量形式来写正则表达式,也是我们常用的方法。
我们还可以使用RegExp构造函数.

var pattern1 = /[bc]at/i;
var pattern2 =  new RegExp("[bc]at","i");
console.log(pattern1) // /[bc]at/i;
console.log(pattern2)// /[bc]at/i;

RegExp()方法接收两个参数,字符串模式pattern,和标志flag

\color{red}{注意:}\需要转义的字符用法也需要双重转义:

var pattern1 = /\[bc\]at/i; 
var pattern2 = new RegExp("\\[bc\\]at","i");  //  “\”被转义成 “\\”
console.log(pattern1) //  /\[bc\]at/i
console.log(pattern2) //  /\[bc\]at/i

RegExp的每个实例都具有以下属性,通过这些属性可以取得有关模式的各种信息。

var pattern = /\[bc\]at/i;
/\[bc\]at/i
pattern.global;
//false
pattern.ignoreCase
//true
pattern.lastIndex
//0
pattern.source
//"\[bc\]at"
上一篇下一篇

猜你喜欢

热点阅读