以下是示例代码中的一行,该代码将使用xpath:
从URL中提取数据xpath = xpath.replace(" / html /","")。替换(" / tbody","&#34 ;," G&#34);
(其中xpath可能类似于:" / html / body / table / tbody / tr [1] / table / tbody / td / tr / td [2] / a&#34 ;;
我不明白为什么第二个" .replace"可以有三个值?什么是" g"意思?
以上是否等同于以下内容?
xpath = xpath.replace(" / html /","");
xpath = xpath.replace(" / tbody",""," g");
答案 0 :(得分:0)
它是一个RegEx全局修饰符。执行全局匹配(查找所有匹配项,而不是在第一次匹配后停止)。所有出现的" / tbody"将被替换,而不仅仅是第一个。
答案 1 :(得分:0)
如果您参考有关replace
方法的MDN documentation,您会注意到语法如下:
他们描述了最后一个参数,如下所示:
标志: 注 - flags参数是非标准的Mozilla扩展。一个字符串,指定正则表达式标志的组合。 String.replace方法中flags参数的使用是非标准的。不使用此参数,而是使用带有相应标志的RegExp对象。如果使用此参数,则该值应为包含以下一个或多个字符的字符串,以影响所述操作:
G: 全球比赛
I: 忽略大小写
米: 匹配多行
Y: 粘性
在您的代码中,您使用g
,这意味着它是全局替换,替换字符串中的每个匹配项。(请注意,这是非标准的,并且建议在正则表达式中使用该标志,{{3 }})
我建议阅读整篇文章,因为它非常清楚,有助于理解你可以用它做什么。