gpt4 book ai didi

javascript - JS RegExp 捕获括号

转载 作者:行者123 更新时间:2023-11-28 15:31:41 25 4
gpt4 key购买 nike

我是 JS RegExp 的新手。我对以下正则表达式匹配感到困惑。

var x = "红苹果"

var y = x.match(/red|green/i)

现在 y["red"]

但是,如果我在 redgreen 两边添加一对括号,并使 y 为

var y = x.match(/(红|绿)/i)

现在,y 将变为 ["red", "red"]。我在网上搜过https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp并发现它是一个叫做捕获括号

它表示例如,/(foo)/匹配并记住“foo bar”中的“foo”。匹配的子字符串可以从结果数组的元素 [1], ..., [n] 或预定义的 RegExp 对象的属性 $1, ..., $9 中调用。

但我不明白从结果数组的元素或预定义的 RegExp 对象的属性中调用是什么意思?谁能解释一下吗?谢谢!

最佳答案

这意味着可以通过引用特定组号 [1] .. [ 来访问匹配结果(capturing group 获得) n] 其中 n 表示您要访问的捕获组的编号。

注意: [0] 适用于整体比赛结果。

var r = 'red apple'.match(/(red|green) apple/i);
if (r)
console.log(r[0]); //=> "red apple" # entire overall match
console.log(r[1]); //=> "red" # match result from 1st capture group

关于javascript - JS RegExp 捕获括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27079986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com