我有以下字符串:
'100% California Grown Olives,Water,Salt And Ferrous Gluconate (An,Iron,Derivative),asasd,sadasda'
我试图用/,/来分割它,但只有当它不在括号内时,例如,在这种情况下,结果应该是:
100% California Grown Olives Water Salt And Ferrous Gluconate (An,Derivative) asasd sadasda
谢谢,
解决方法
@result = split(m/,(?![^()]*\))/,$subject);
仅当下一个括号(如果有)不是右括号时,才会在逗号上拆分.正如Jack Maney所说,如果可能出现嵌套括号,这可能会导致失败.
说明:
,# Match a comma. (?! # Assert that it's impossible to match... [^()]* # any number of non-parenthesis characters \) # followed by a closing parenthesis ) # End of lookahead assertion