我的程序将SQL VALUES多行字符串解析为单行字符串数组。
典型的输入字符串如下:
典型的输入字符串如下:
(11,'-1','Service A (nested parentheses)','en') (22,'-2','Service B (nested parentheses)','en')
期望输出:
- 分组 1:
11,'-1','服务A(嵌套括号)','en'
- 分组 2:
22,'-2','服务B(嵌套括号)','en'
我尝试了以下正则表达式,但只有部分成功:
\(('.*?'|.*?)\)
在正则表达式中,应该如何正确地处理这个问题呢?
编辑:
- 目标平台是Java 6/7
- 不需要将括号替换为换行符 - 只需要捕获组
\((?>'[^']*'|[^')]++)*\)
可以匹配一个项目。 - Casimir et Hippolyte