请原谅我,如果它似乎是微不足道的,只是为了理解正则表达式: 正如here所述,带有字符(x):
(x) matches x and remembers
第一部分" 匹配"我能理解,但第二部分" 记得"对我来说理解有点乏味。 有人可以帮助以更简单的方式解释它吗?
答案 0 :(得分:3)
它被称为捕获组。使用反向引用($1
,$2
,...),您可以在替换字符串中引用它:
'R2D5'.replace(/(\d)/g, '$1$1')
// => "R22D55"
您还可以在模式中使用反向引用(\1
,\2
,...):
'ABBCCDEF'.match(/(.)\1/g) // to match consecutive character
// => ["BB", "CC"]
使用替换功能时,您将获得其他参数:
'R2D5'.replace(/(\d)/g, function(fullMatch, capture1) {
return (parseInt(capture1) + 1).toString();
})
// => "R3D6"
答案 1 :(得分:0)
在大多数正则表达式中,你可以指定一个“捕获组”并在以后调用它们:
"something".replace(/so(me)/, '$1 ')
此处,捕获组为(me)
- 结果为me thing