我想用不在括号或方括号中的逗号分隔字符串
我正在使用以下字符串
土豆、植物油(向日葵油、玉米油和/或菜籽油)、蜂蜜
烧烤调味料[糖,盐,葡萄糖,圆酵母,洋葱粉,
香料]、麦芽糊精果糖、酵母提取物、糖蜜、天然香料
[含牛奶]、玉米淀粉、蜂蜜、阿拉伯胶、辣椒粉提取物、
焦糖色、大蒜粉、柠檬酸和葵花籽油
我希望它如何分割(+
表示我希望分割发生的位置)
土豆+植物油(葵花籽油、玉米油和/或菜籽油)+蜂蜜烧烤调料[糖、盐、葡萄糖、圆酵母、洋葱粉、香料]+麦芽糊精果糖+酵母提取物+糖蜜+天然香料[包括牛奶]+玉米淀粉+蜂蜜+口香糖阿拉伯+辣椒提取物+焦糖色素+大蒜粉+柠檬酸+葵花籽油
我最接近工作的是这个
,(?![^\[\(]*[$\]\)])
https://regex101.com/r/SVSrV2/1 https://regex101.com/r/SVSrV2/1
也许你想要这样的东西:
(?!<(?:\(|\[)[^)\]]+),(?![^(\[]+(?:\)|\]))
Demo https://regex101.com/r/2vqHzD/2
当将输入馈送到 Java 时(注意附加]
and (
插入到随机位置以使其格式良好):
土豆、植物油(向日葵、玉米和/或菜籽油)、蜂蜜烧烤调味料[糖、盐、葡萄糖、圆酵母]、洋葱粉、香料、麦芽糊精果糖、酵母提取物、糖蜜、天然香料[包括牛奶]、玉米淀粉、蜂蜜、阿拉伯胶、辣椒提取物、焦糖色素(大蒜粉、柠檬酸和葵花籽油)。
它产生输出:
Potatoes
Vegetable Oil (Sunflower, Corn, And/or Canola Oil)
Honey BBQ Seasoning [Sugar, Salt, Dextrose, Torula Yeast]
Onion Powder
Spices
Maltodextrin Fructose
Yeast Extract
Molasses
Natural Flavor [Including Milk]
Corn Starch
Honey
Gum Arabic
Paprika Extracts
Caramel Color (Garlic Powder, Citric Acid, And Sunflower Oil).
这正是“顶级逗号的分割”。
但是,请注意,这个正则表达式确实效率很低。使用正则表达式查找来计算括号并不是一个好主意。似乎可以通过简单的左扫描和简单的分割来解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)