我处理配方成分的列表,它的一个例子是这样的:正则表达式语法爆炸配方列表元素
花生,小麦淀粉,植物油,改性淀粉,糖,孟买香精香料[洋葱粉,香草和香料(小茴香,咖喱粉,辣椒粉,香菜),大蒜粉,氯化钾,酵母提取物,酵母粉(含麸和大麦),柠檬酸,调味品(含大麦,大豆,小麦,芹菜) ],米粉,盐,颜色(浓缩甜菜根汁,姜黄素,辣椒粉提取物)。
我希望将每种成分分解成数组(使用PHP),用逗号分隔。我的问题是一些成分被细分。在这个例子中,'Mumbai Spice Flavor'的组成部分用方括号分隔,并且包含一些成分,然后子成分被定期括号分隔。
标准:
explode(",", $recipeStr)
会给我一个非常混乱的结果,所以我在寻找一个正则表达式语句,将每个不同的元素爆炸到一个数组,考虑可选的方括号,和可选的子括号。它还需要能够处理嵌套在方括号内的方括号而不是。
期望的结果将是一个数组列表,看起来像:
-Peanuts
-Wheat Starch
-Vegetable Oil
-Modified Starch
-Sugar
-Mumbai Spice Flavour [Onion Powder, Herbs and Spices (Cumin, Curry Powder, Chilli Powder, Coriander), Garlic Powder, Potassium Chloride, Yeast Extract, Yeast Powder (contains Gluten and Barley), Citric Acid, Flavouring (contains Barley, Soya, Wheat, Celery)]
-Rice Flour
-Salt
-Colours (Concentrated Beetroot Juice, Curcumin, Paprika Extract)
我不是在正则表达式的语法非常好,因此,如果任何问题的答案也可以说明,将不胜感激的语法逻辑。
这是非常好的,看起来正是我想要的输入列表。非常感谢你! :) – monkeymatrix