gpt4 book ai didi

javascript - 为什么 match 返回整个字符串作为数组中的第一个元素?

转载 作者:行者123 更新时间:2023-11-28 19:13:18 24 4
gpt4 key购买 nike

假设我有这个字符串:

'1234*321*123'

我想将每组数字作为数组中的一个元素。

所以我用了这个:

'1234*321*123'.match(/^(\d{4})\*(\d{3})\*(\d{3})$/);

但是当我期待 ["1234", "321"时,它返回了 ["1234*321*123", "1234", "321", "123"] ,“123”]

为什么如果只有数字组包含在捕获组中,match 是否会返回整个字符串作为数组的第一个元素?

最佳答案

第 0 个元素始终是完全匹配。第一个元素是第一次捕获,第二个元素是第二次捕获,依此类推。如果您只想要所有捕获而不完全匹配,可以使用 result.slice(1)

如果您问“为什么第一个元素完全匹配?”:

  • 这就是match 的工作方式。
  • 它类似于旧语言中的 $0$1$2...。

关于javascript - 为什么 match 返回整个字符串作为数组中的第一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30386825/

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