分组
1 解决多个字符串重复
2 可以在外面获取
格式 (任意个字符)
获取
在正则表达式内部获取:\数字
在正则表达式外部获取:$数字
注意数字是从1开始的。
/(bye){2}/.test('byebye')
返回=> true {2}是重复两次
/(bye){2}/.test('bye')
返回=> false
分组的反向引用
反向引用标识是对正则表达式中的匹配组捕获的子字符串进行编号,通过“\编号(在表达式中)”,“$编号(在表达式外)”进行引用。从1开始计数。
/(bye)\1/.test('byebye') => true
/(bye)\1/.test('bye') => false
'123*456'.replace(/(\d{3})\*(\d{3})/, '$2*$1') => "456*123"
'123*456'.replace(/(\d{3})\*(\d{3})/, function (match, $1, $2) {
return $2 + '*' + $1
})
=> "456*123"