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

标签 regex typescript

这个问题在这里已经有了答案:





How do you access the matched groups in a JavaScript regular expression?

(23 个回答)


3年前关闭。




我收到 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在正则表达式执行结果上。而且我知道输出实际上是一个数组……但是获取特定索引来获取组似乎有点麻烦。从列表中提取是 Typescript 中的唯一选项吗?

最佳答案

m[1] 将带来“世界”。

您可以作为 m['groups'] 访问组。

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

因为如果你在 m 的 console.log/debug 你可以看到,groups 是一个来自结果的对象。如果您知道属性名称,则上面提到的是一种更具体的访问对象的方法。

关于regex - 如何从 Typescript 中的正则表达式 exec 匹配访问组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52954432/

相关文章:

angular - 新的 Angular 9 应用程序,带有 "ERROR in Cannot read property ' 标志“未定义”,在 Mac 上 "ng build"

javascript - Angularjs - 在完成之前删除元素闪烁的指令

javascript - 如何保护全局变量(窗口)不被覆盖

javascript - 如何根据字符串的长度用 "*"(astrik) 字母替换字符串

sql - Oracle REGEXP_REPLACE 开头的数字和空格

regex - 如何检查 Perl 字符串是否包含字母?

typescript - 为什么 ts-loader 不编译我的 typescript ?

typescript - 为什么当参数的形状与 typescript 中的参数形状不同时它不会抛出错误?

javascript - 使用 jQuery/javascript 验证联系表单中的电子邮件

php - preg_match() : Compilation failed: invalid range in character class at offset