正则表达式 – Perl分裂和正则表达式

前端之家收集整理的这篇文章主要介绍了正则表达式 – Perl分裂和正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下字符串:

'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

猜你在找的正则表达式相关文章