怎么在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类型