【发布时间】:2022-01-23 06:03:27
【问题描述】:
我有一个字符串'w_600,h_600/c_overlay:{c_fit,w_570,h_256/c_crop,w_600,h_600/main_image},g_center,y_-157,x_0/c_overlay:{c_crop,w_300,h_300/main_image}/FFFFFF'。
我想用/ 分割字符串,但是,我只想将/ 用作不在{...} 内的分隔符。
所以拆分字符串后的结果是:
['w_600,h_600', 'c_overlay{c_fit,w_570,h_256/c_crop,w_600,h_600/main_image},g_center,y_-157,x_0', 'c_overlay:{c_crop,w_300,h_300/main_image}', 'FFFFFF']
我尝试使用.split(/(?<!{.*?)\/|(?<=}.*?)\//),但如果有多个{...},它会无法正常工作。
console.log('w_600,h_600/c_overlay:{c_fit,w_570,h_256/c_crop,w_600,h_600/main_image},g_center,y_-157,x_0/c_overlay:{c_crop,w_300,h_300/main_image}/FFFFFF'.split(/(?<!{.*?)\/|(?<=}.*?)\//))
【问题讨论】:
-
最好的办法是不使用split。匹配喜欢
-
(?:[^/{}]+|(?:{.*?})|[{}])+(?=/)|(?<=/)(?:[^/{}]+|(?:{.*?})|[{}])regex101.com/r/9OiL9y/1 -
标签: javascript regex string split