正则表达式中g的用法是什么附件参数g的用法是什么
什么是 /克的正则表达式( / /克} { ^ 0-9,)是什么意思这个问题还有助于你对正则表达式有更全面更深刻的理解。我将总结一些重点和困惑的地方。摘要1:附件参数g的用法
将表达式添加到参数g后,可以显示全局匹配,并注意到其意义:
1)对于表达式对象的执行方法,不加G,它只返回第一个匹配,不管它执行多少次。如果G说,第一场比赛也回到了第一场比赛,然后第二比赛回来,其次是analogy.for例子
无功regx = / / 用户;
var str = user18dsdfuser2dsfsd;
VaR RS = regx.exec(STR); / / RS值{ user1 }
VaR RS2 = regx.exec(STR); / / RS值{ user1 }
如果regx = /用户 D / G;然后RS值{ user1 },和RS2值{ user2 }
通过这个例子:对于执行方法,加入G的表达式,并不是说执行方法的方法可以返回所有匹配,但是加入G,毕竟我可以,在某种程度上,这里的方式是执行,其次是这个方法的实现。
(2)对于表达式对象的测试方法,不加上g加G没有差别。
3)对字符串对象,匹配方法没有G,只返回第一个匹配,得到匹配方法的实现总是返回第一个匹配,加入G,然后返回所有匹配的方法和执行的表达(注意不同的对象执行,即使表达G也,不返回所有匹配的例子):
无功regx = / / 用户;
var str = user1sdfsffuser2dfsdf;
VaR(RS = str.match regx); / / RS值{ user1 }
VaR RS2 = str.match(regx); / / RS值{ user1 }
如果regx = /用户 D / G,然后RS值{ user1,user2 },和RS2也是user1 user2 {,}
4)对于字符串对象的替换方法,表达式不添加到g,然后只替换第一个匹配,如果添加g,则替换所有匹配项(前三个测试问题可以很好地表明这一点)。
(5)对于字符串对象的拆分方法,G与非g相同,即:
var;
var array = user1dfsfuser2dfsf.split(SEP);
数组的值称称{,}
此时,用户返回值是相同的。
6)对于字符串对象的搜索方法,g的添加是相同的。
摘要2:使用附加参数m
附加参数m,可以是多行匹配,但这只有当使用和$模式生效时,在其他模型中,m可以是多行匹配(字符串也是一个常见的多行字符串),我们举例说明这一点。
1)使用一个例子
无功regx = / / g ^ B.;
var str = bd76 dfsdf
sdfsdfs DFFS
b76dsf sdfsdf;
VaR(RS = str.match regx);
在这个时候,加入和不加入G G只返回第一个匹配{ BD },如果regx = / /通用^ B,然后返回所有匹配的{ BD,B7 },注意,如果regx = / /米^ B,只有第一个匹配返回。所以,加入m显示多行匹配可以做,并加入G表明全局匹配可以做。
2)使用模式的其他示例,例如
无功regx = / / 用户;
var str = sdfsfsdfsdf
sdfsuser3 DFFS
b76dsf user6;
VaR(RS = str.match regx);
在这一点上,没有参数G添加,然后{ user3 }返回,增加参数G回到{ user3,user6 },不添加,不影响它。
3)因此对于m,我们需要清楚它的用法,并且记住它只适用于。在这两个模型中,m的作用是:如果我们不加入m,则只能在第一行中匹配。如果我们加入M,我们可以匹配所有行。
无功regx = / / ^ B.;
var str = ret76 dfsdf
bjfsdfs DFFS
b76dsf sdfsdf;
VaR(RS = str.match regx);
当RS值为null时,如果进入g,RS的值仍然为null。如果你加{北京M RS值}(也就是说,排在第一位的,没有找到,因为参数m,所以你可以继续去下面找是否匹配),如果我和G在返回{ BJ说,B7 }(只有我没有G,可以去多行,但要找到一个匹配返回后,加入G显示,多排课的回归,比赛的方法是,为执行,你需要进行几次回头)
总结3:在HTML文本输入字段,按下回车键,和相应的控制字符 R那就是回车,而不是回车。这就是线的变化。
无功regx = / RBC;
var
公元前;
VaR RS = regx.exec(STR);
结果:匹配成功,如果表达式为,则RS的值为{红 /,它将不匹配,所以在一般的编辑器,一个回车键代表回车换行,而不是,至少在文本域。