regex - 如何从 Typescript 中的正则表达式 exec 匹配访问组?
问题描述
我Property 'groups' does not exist on type 'RegExpExecArray'
在尝试时得到
const r = /\w+, (?<foo>\w+)/
const m = r.exec('hello, world')
if (m) {
const groups = m.groups
}
Javascript 有一个调用.groups
正则表达式执行结果的选项。而且我知道输出实际上是一个数组......但是抓住一个特定的索引来获取这些组似乎有点 hacky。从列表中拉出是 Typescript 中的唯一选项吗?
解决方案
m[1] 将带来“世界”。
您可以使用 m['groups'] 访问组。
if (m) {
const groups = m['groups'];
}
因为如果你 console.log / debug at m 你可以看到,groups 是结果中的一个对象。如果您知道属性名称,上面提到的是访问对象的更具体的方法。
推荐阅读
- string - 批处理文件删除额外文件
- go - 获取一张幻灯片,对其进行编辑,然后稍作改动后再次发布
- java - 多级调度的JAVA程序
- python - Plotly:如何使用 plotly-dash 在一页上创建“输入文本”并在第二页或选项卡上输出(图形)?
- c# - C# 中用于 SQL 查询的占位符字符无效
- python - 在 __eq__ 方法中获取“属性‘子’的延迟加载操作无法继续”
- bash - 如何使用 .bashrc 的导出运行 docker 容器
- java - 如何转义 URL 中的等号?
- android - Android简单片段滑入滑出过渡
- reactjs - 如何在回调警告中禁用 React Hook “useCallback”?