【发布时间】:2019-10-17 16:43:28
【问题描述】:
我无法确定 javascript 中是否存在 隐式变量 用于匹配结果。
我正在寻找的结果代码是这样的:
if(line.match(/foo{bar}/)) {
console.log(bar_variable)
}
引用的 ^ bar_variable 应包含匹配组结果。 有这样的吗?
【问题讨论】:
标签: javascript regex variables match implicit
我无法确定 javascript 中是否存在 隐式变量 用于匹配结果。
我正在寻找的结果代码是这样的:
if(line.match(/foo{bar}/)) {
console.log(bar_variable)
}
引用的 ^ bar_variable 应包含匹配组结果。 有这样的吗?
【问题讨论】:
标签: javascript regex variables match implicit
不,没有。 String.match() returns:
Array,其内容取决于全局 (g) 标志的存在与否,如果未找到匹配项,则为null。
所以你可以这样做:
if (bar_variable = line.match(/foo{bar}/)) {
console.log(bar_variable)
}
为了避免使用全局符号,你可以这样做,但它确实让它有点难看:
{
let bar_variable;
if (bar_variable = line.match(/foo{bar}/)) {
console.log(bar_variable);
}
}
据我所知,你不能这样做 if (let x = ...),但我可能是错的。
【讨论】: