gpt4 book ai didi

用于提取组的 JavaScript 正则表达式迭代器

转载 作者:IT老高 更新时间:2023-10-28 23:08:06 26 4
gpt4 key购买 nike

假设我们有以下文本:“1 a,2 b,3 c,4 d”和以下表达式:/\d (\w)/g

我们要做的是提取正则表达式所表示的a、b、c、d。

不幸的是 "1 a,2 b,3 c,4 d".match(/\d (\w)/g) 将产生一个数组:1 a,2 b,3 c,4 d 和 RegExp.$1将仅包含上次匹配的组,即 RegExp.$1 == 'd'。

我如何迭代这个正则表达式,以便我也可以提取组...我正在寻找一种内存效率高的解决方案,即某种迭代器对象

编辑:它需要是通用的。我在这里只提供一个简单的例子。一种解决方案是遍历数组并为没有全局标志的每个项目重新应用正则表达式,但我发现这个解决方案有点愚蠢,尽管它似乎是唯一的方法。

最佳答案

var myregexp = /\d (\w)/g;
var match = myregexp.exec(subject);
while (match != null) {
// matched text: match[0]
// match start: match.index
// capturing group n: match[n]
match = myregexp.exec(subject);
}

(无耻地取自RegexBuddy)

关于用于提取组的 JavaScript 正则表达式迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com