gpt4 book ai didi

regex - 在括号外用逗号标记

转载 作者:数据小太阳 更新时间:2023-10-29 03:03:29 25 4
gpt4 key购买 nike

我正拼命尝试标记具有以下格式的过滤器字符串:

price:gte:5.99,price:lte:10.00,model:in:[test1,test2]

陷阱在于,逗号不仅用于分隔过滤器选项,还用作选项列表的分隔符:[test1,test2]

应用标准正则表达式分词器表达式 [^,]+ 给我:

price:gte:5.99
price:lte:10.00
model:in:[test1
test2]

但是,显然,我想要:

price:gte:5.99
price:lte:10.00
model:in:[test1,test2]

我怎样才能做到这一点?

最佳答案

这可能是一个选项:

(?:[^][,\n]+\[[^]]+\]|[^,\n]+)

解释

(?:                  # Non capturing group  [^][,\n]+\[[^]]+\] # Match not a comma newline ] or [, then match between []  |                  # Or  [^,\n]+            # Match not a comma or a newline)                    # Close non capturing group

编辑:正如@anubhava 所建议的那样,将 ][ 添加到字符类中,使其变为 [^][,\n] 以防止不必要的回溯。

关于regex - 在括号外用逗号标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49033653/

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