我有以下字符串:
'100% California Grown Olives, Water, Salt And Ferrous Gluconate (An,Iron, Derivative),asasd, sadasda'
Run Code Online (Sandbox Code Playgroud)
我试图拆分它,/,/但只有当 它不在括号内时,例如,在这种情况下,结果应该是:
100% California Grown Olives
Water
Salt And Ferrous Gluconate (An,Iron, Derivative)
asasd
sadasda
Run Code Online (Sandbox Code Playgroud)
谢谢,
Tim*_*ker 11
@result = split(m/,(?![^()]*\))/, $subject);
Run Code Online (Sandbox Code Playgroud)
仅当下一个括号(如果有)不是右括号时,才会在逗号上拆分.正如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
Run Code Online (Sandbox Code Playgroud)