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,情况并非如此。列不会单独位于括号内。