我正在处理一个配方成分列表,其中一个示例如下所示:
花生、小麦淀粉、植物油、改性淀粉、糖、孟买香料味 [洋葱粉、香草和香料(孜然、咖喱粉、辣椒粉、芫荽)、大蒜粉、氯化钾、酵母提取物、酵母粉(含有麸质和大麦)、柠檬酸、调味剂(含有大麦、大豆、小麦、芹菜)]、米粉、盐、色素(浓缩甜菜根汁、姜黄素、辣椒粉提取物)。
我希望将每种成分分解成一个数组(使用 PHP),用逗号分隔。我遇到的问题是某些成分被细分了。在此示例中,“Mumbai Spice Flavour”的成分由方括号分隔,并包含一些成分,然后由常规括号分隔子成分。
一个标准:
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)
我不太擅长 RegEx 语法,因此如果有任何答案也可以解释语法逻辑,我将不胜感激。