同样需要注意:s.match(pattern),并不是 pattern.match(s),和 test 不一样。
上面的结果已在代码备注中说明。
注意:上面正则表达式,我们并没有指定 g 参数,如果指明了 g 参数,则上述代码的 match 长度只有 1,也就是说只能使用 match[0],无法取正则表达式中 () 中的内容。
正好,我们深入探讨一下 g 参数。
如上,由于没有指定 g 参数,所以只返回第一个匹配。
如上,由于没有指定 g 参数,match[1]、match[2] 就是与正则表达式中的括号匹配了。
如上,指定了 g 参数,则 match[1]、match[2] 对应的是第 2、3 个匹配,根本不会理会正则表达式中的括号,也就是说指定了 g,则不会返回正则表达式中的括号匹配。