如何从Typescript中的正则表达式exec匹配中访问组?

How can I access groups from a regex exec match in Typescript?

本问题已经有最佳答案,请猛点这里访问。

我在试的时候得到了EDOCX1[0]

1
2
3
4
5
6
const r = /\w+, (?<foo>\w+)/
const m = r.exec('hello, world')

if (m) {
    const groups = m.groups
}

Javascript可以在regex exec结果上调用.groups。我知道输出实际上是一个数组…但是,获取一个特定的索引来获取这些组似乎有点麻烦。从列表中提取是typescript中唯一的选项吗?


M[1]将带来"世界"。

您可以以m[组]的形式访问组。

1
2
3
if (m) {
 const groups = m['groups'];
}

因为如果在m处可以看到console.log/debug,那么groups就是结果中的一个对象。如果您知道属性名,上面提到的是访问对象的更具体的方法。