怎么在JavaScript中引用RegExp类型

  介绍

怎么在JavaScript中引用RegExp类型?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强> 1,正则表达式定义

三个标志:全局模式g,不区分大小写模式,多行模式m。

1)字面量定义

var  pattern =,/在/gim (fe);

2)构造函数定义:

接收两个参数,要匹配的字符串模式和可选的模式字符串(g,我米)。

var  pattern =, new 正则表达式(“(fe) at",“gim");

注意:

1)若需要匹配的字符串中包含以下元字符,就必须对它们进行转义:([{\ ^,|)?* +。]}.

2)由于构造函数定义正则表达式的参数是字符串,所以在某些情况下要对字符时行双重转义如\ n,字符\在字符串中通常被转义为\ \,而在正则表达式字符串参数中就会变成\ \ \ \,字面量模式/\ w \ \ hello \ \ 123/等价的字符串为“\ \ w \ \ 123 \ \ hello \ \ \ \”。

<强> 2,RegExp实例属性

<李>

1)全球表示是否设置了g标志。

<李>

2) ignoreCase表示是否设置了我标志。

<李>

3)多行表示是否设置了米标志。

<李>

4) lastIndex用于记录上一次匹配结束的位置,即下一次开始搜索下一个匹配项的位置,从0算起。

<李>

5)源返回正则表达式的字符串表示,按照字面量模式返回而非传入构造函数的字符串模式返回。

var  pattern =, new 正则表达式(“\ \[菲\ \]at",“我);   警报(pattern.source);

以上代码返回\[菲\]在

<强> 3,RegExp实例方法

1)继承的<代码> toLocaleString() ,<代码> toString() ,<代码>返回对象的值()方法

<代码> toLocaleString() :返回正则表达式的字面量,与创建正则表达式的方式无关。

<代码> toString() :返回正则表达式的字面量,与创建正则表达式的方式无关。

<代码>返回对象的值():返回正则表达式本身。

var  pattern1 =,//我\[菲\]);   var  pattern2 =, new 正则表达式(“\ \[菲\ \]at",“我);   警报(pattern1.toString());,//,//我\[菲\]   警报(pattern1.toLocaleString());,//,//我\[菲\]   警报(pattern2.toString());,//,//我\[菲\]   警报(pattern2.toLocaleString());,//,/\[菲\]/我

2) <代码>匹配()方法

参数:用于匹配的正则表达式。

返回值:区分<代码>匹配()的返回值主要是看是否设置g标志,没有设置g标志时与<代码> exec() 是等价的。

。如果设置g标志,那么返回的是包含所有匹配项的数组。

b。如果没有设置g标志,那么返回的是包含第一个匹配项的数组,第0项是与整个正则表达式匹配的字符串,第1项是是与第1个子表达式相匹配的文本(如果有的话),第2项是与第两个子表达式相匹配的文本(如果有的话)。

3) <代码> exec() 方法

参数:要应用模式的字符串。

返回值:返回包含第一个匹配项信息的数组,没有匹配项的情况下返回零。<代码> exec() 的返回值不受g标志影响,在不设置g标志时,在同一个字符串上多次调用<代码> exec() 将会始终返回第一个匹配项的信息。即使设置了g标志,一次也只返回一个匹配项,但设置g标志时,每次调用<代码> exec() 都会在字符串中继续查找新匹配项,会驱动lastIndex可以模拟遍历所有匹配,可以与<代码>匹配()设置g标志时等价(区别在于遍历所有匹配时,<代码> exec() 需要多次匹配,<代码>匹配()一次匹配即可得到所有匹配)。

返回的数组包含额外的两个属性:指数和输入。其中,索引表示匹配项在字符串中的位置,而输入表示应用正则表达式的字符串。在数组中,第0项是与整个正则表达式匹配的字符串,第1项是是与第1个子表达式相匹配的文本(如果有的话),第2项是与第两个子表达式相匹配的文本(如果有的话)。

var  str =,“Shanghai 以及Beijing 以及Guangzhou";   var  pattern =,/Shanghai  (Beijing 害;(广州)害?)?/胃肠道;   var  match =, pattern.exec (str);   警报(match.index);//0   警报(match.input);//癝hanghai 以及Beijing 以及Guangzhou"   警报(匹配[0]);//癝hanghai 以及Beijing 以及Guangzhou"   警报(匹配[1]);//耙约癇eijing 以及Guangzhou"   警报(匹配[2]);//耙约癎uangzhou"

怎么在JavaScript中引用RegExp类型