const variables = {
total_123: 42,
number_items: 0xf00
};
// Destructure the match, take the second and third element but skip the first.
const [, group1, group2] = text.match(regex);
const numerator = variables[group1];
const denominator = variables[group2];
3条答案
按热度按时间oaxa6hgo1#
正则表达式模式中括号中的部分表示组。这些组可以使用matches数组单独捕获,其中元素位于索引1和2。这允许您单独捕获括号中的表达式。
klsxnrf12#
您需要将变量存储在对象中,然后根据需要访问其属性:
另外,只需使用literal语法声明正则表达式:
请注意,由于正则表达式没有
m
标志,因此^
表示字符串的开头,$
表示字符串的结尾。也就是说,我们最多可以得到一个匹配,并且g
标志是不必要的(事实上,如果我们使用.match()
而不是.matchAll()
,它甚至会阻止我们访问组)。试试看:
smtd7mpg3#
首先是一些评论:
RegExp
构造函数。只需要使用regex literal。g
标志可以有多个匹配项,因此需要一个循环(?<numerator> )
代码: