正则表达式中的“匹配 x 并记住匹配”是什么意思

What does "matches x and remembers the match" means in regexp

本文关键字:意思 是什么 匹配 正则表达式      更新时间:2023-09-26

请原谅我,如果它看起来微不足道,但只是为了理解正则表达式:正如这里所说的字符 (x):

(x)           matches x and remembers 

第一部分"匹配"我可以理解,但第二部分"记住"对我来说有点乏味。有人可以帮忙以更简单的方式解释它吗?

这称为捕获组。使用反向引用($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"

在大多数正则表达式中,您可以指定一个"捕获组"并在以后调用它们:

"something".replace(/so(me)/, '$1 ')

在这里,捕获组(me) - 结果将是me thing