gpt4 book ai didi

javascript - 正则表达式匹配不在括号或引号之间的所有范围

转载 作者:行者123 更新时间:2023-11-28 15:37:15 25 4
gpt4 key购买 nike

我有以下字符串:

'b1:b10 + sum(a1:a10, sum(b1:b21)) + a1 + "d23:d44" '

我想提取字符串中的所有范围(范围是 b1:b10 或 a1),所以我使用这个正则表达式:

var rxRanges = new RegExp('(([a-z]+[0-9]+[:][a-z]+[0-9]+)|([a-z]+[0-9]+))', 'gi');

这会返回我的所有范围,因此它返回:[b1:b10, a1:a10, b1:b21, a1, d23:d44]

我现在想修改此正则表达式以仅搜索根范围,换句话说返回不在特定括号或引号之间的范围。所以我正在寻找这个:["b1:b10","a1"]

不知道如何解决这个问题?

最佳答案

#根据评论更新

您可以使用否定前瞻来实现这一点:

/(?=[^"]*(?:"[^"]*"[^"]*)*$)(?![^(]*[,)])[a-z]\d+(:\w+)?/gi

<强> Live demo

关于javascript - 正则表达式匹配不在括号或引号之间的所有范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25228134/

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