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
Java 基于特定逗号拆分的正则表达式_Java_Regex - Fatal编程技术网

Java 基于特定逗号拆分的正则表达式

Java 基于特定逗号拆分的正则表达式,java,regex,Java,Regex,我有一个简单的要求。我有一个小字符串,希望根据逗号进行拆分,但仅限于括号外的 样本输入 SUM(Col1) OVER (PARTITION BY Col2, Col3) AS Col5,SUM(Col2) OVER (PARTITION BY Col2) AS Col4 预期产出: SUM(Col1) OVER (PARTITION BY Col2, Col3) AS Col5 SUM(Col2) OVER (PARTITION BY Col2) AS Col4 谢谢 试试这个。看演示 另

我有一个简单的要求。我有一个小字符串,希望根据逗号进行拆分,但仅限于括号外的

样本输入

SUM(Col1) OVER (PARTITION BY Col2, Col3) AS Col5,SUM(Col2) OVER (PARTITION BY Col2) AS Col4
预期产出:

SUM(Col1) OVER (PARTITION BY Col2, Col3) AS Col5
SUM(Col2) OVER (PARTITION BY Col2) AS Col4
谢谢

试试这个。看演示

另外,假设没有嵌套的


这是为我工作的优化正则表达式

,(?=[^)]+\()

试试这个。看演示

另外,假设没有嵌套的


这是为我工作的优化正则表达式

,(?=[^)]+\()

通过否定的前瞻性断言。对于这种情况,最好的选择是否定的先行断言,而不是肯定的先行断言

,(?![^()]*\))
上面的正则表达式只有在不后跟

  • [^()]*
    任何字符,但不属于
    零次或多次
  • \)
    一篇结束语

通过否定的前瞻性断言。对于这种情况,最好的选择是否定的先行断言,而不是肯定的先行断言

,(?![^()]*\))
上面的正则表达式只有在不后跟

  • [^()]*
    任何字符,但不属于
    零次或多次
  • \)
    一篇结束语

我想括号可以嵌套吗?如果是这样的话,我不认为正则表达式可以做到这一点。我想括号可以嵌套吗?如果是这样的话,我不认为正则表达式可以做到这一点。请你添加一些关于这个正则表达式的解释好吗?@Braj这个检查如果一个
后面跟着多个
),那么如果一个
(),
里面,那么它就不会有多个
()
,因为前面还有一个
。因此
将不匹配,谢谢您的评论。我明白你的意思了。这就是我需要的<代码>,(?=[^)]+\()@AvinashRaj,情况并非如此。列不会单独在括号内。请您添加一些关于这个正则表达式的解释好吗?@Braj检查
后面是否有多个
)。因此,如果
)内,那么前面就不会有多个
),因为剩下一个
。因此
将不匹配,谢谢您的评论。我明白你的意思了。这就是我需要的<代码>,(?=[^)]+\()@AvinashRaj,情况并非如此。列不会单独位于括号内。