Я хотел бы написать регулярное выражение, которое разделяет строку запятыми, которые не являются внутри().Разделить строку символами, которые не находятся внутри определенной границы
Примеры:
"test,test,test".split(/.../) => var a = ["test", "test", "test"];
"test(123,345),test".split(/.../) => var a = ["test(123,345)", "test"];
"test(123,345),a(b,c)".split(/.../) => var a = ["test(123,345)", "a(b,c)"];
"test(cb(a,b),345),a(b(d,e,f),c),abc".split(/.../) => var a = ["test(cb(a,b),345)", "a(b(d,e,f),c)", "abc"];
У меня есть следующее регулярное выражение, но это работает только, если у меня нет() после первого матча запятой:
"test,test,test".split(/,(?!.*\))/) => OK
"test(cb(a,b),345),test,test".split(/,(?!.*\))/) => OK
"test,test(cb(a,b),345),test".split(/,(?!.*\))/) => FAIL
Возможно, '/, (?! [^,] * \)) /'? –