left('abc=efg',4),1分割成left('cny=cfha',4)和1的正则表达式如何写

left(abcefg,4),1分割成left(cnycfha,4)和1的正则表达式怎么写我需要这样实现的目的是,实现字符串表

left('abc=efg',4),1分割成left('cny=cfha',4)和1的正则表达式怎么写
我需要这样实现的目的是,实现字符串表达式的嵌套,如
left(left( 'abc=efg ',4),1)怎么样把最外一层参数分割开来
可能的参数组合包括:  
left( 'abc=efg ',4),1
left( 'abc=efg ',4), '= '
'abc=efg ',left( 'abc=efg ', '= ')
left( 'abc=efg ',2),left( 'abc=efg ', '= ')

[解决办法]
搞得有点复杂了,不懂
[解决办法]
学习期待中。。。。
[解决办法]
是不是如何得到:left( 'abc=efg ',4),1?
如果是的话,用栈的思想,很容易办到
[解决办法]
如果只嵌套一层可以这样:
String str = "left( 'abc=efg ',4),1 ";
String[] strs = str.split( "(? <=^[^(]+|^[^(]*\\([^)]*\\)[^(]*), ");
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}

如果是未知层次嵌套,Java自带的正则引擎是做不到的。可以自己用堆栈实现