Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在逗号上拆分,除非它们';你在括号里没有周围人吗?_Regex_String_Go - Fatal编程技术网

Regex 如何在逗号上拆分,除非它们';你在括号里没有周围人吗?

Regex 如何在逗号上拆分,除非它们';你在括号里没有周围人吗?,regex,string,go,Regex,String,Go,有很多类似的问题,不幸的是,这些解决方案都不起作用 这包含一个输入示例和一个完全工作的正则表达式: (从下面的链接复制并粘贴) 正则表达式:,(?!([^[^>]*>) 样本: Hello, Fellow, Humans, How, are ,<,>, you, Hello<my, fellow> Hello "please to meat, you" Deeploy, <<nested, >> comments, 你好,

有很多类似的问题,不幸的是,这些解决方案都不起作用

这包含一个输入示例和一个完全工作的正则表达式:

(从下面的链接复制并粘贴)

正则表达式:
,(?!([^[^>]*>)

样本:

Hello, Fellow, Humans,
How, are ,<,>, you,
Hello<my, fellow>
Hello "please to meat, you"

Deeploy, <<nested, >> comments,
你好,伙计,人类,
你怎么样,
你好
你好“请吃肉,你”
Deeploy,评论,
它只正确地选择任何外部的逗号

问题是: 我使用的语言(GO)不允许向前看或向后看

有没有一种方法可以用逗号和正则表达式雄辩地分开? 或者我必须手动执行查找或某种匹配检查吗

我的目标是:

split := compiledRegex.Split("Example string, With <Deeply, Nested Comments> split, up", -1)
split = ["Example string", "With <Deeply, Nested Comments> split", "up"]
split:=compiledRegex.split(“示例字符串,带拆分,up”,-1)
split=[“示例字符串”、“带拆分”、“向上”]

FYI您当前的带有lookarounds的正则表达式实际上不起作用,因为它会错误地匹配
:正确处理带有正则表达式的平衡嵌套结构的唯一方法是使用golang没有内置的正则表达式引擎。Try,
匹配:=regexp.MustCompile(`(?:+|[^,])+`.FindAllString(text,-1)
Regex可能是最糟糕的尝试方式。状态机解析器将是更好的解决方案,尤其是如果您想有任何方法转义括号或逗号。如果括号改为引号,您可以使用CSV,这样行吗?