需要在R-Perl中编写一个正则表达式,它可以将字符串按逗号“,”拆分,但跳过圆括号内的所有逗号。挑战是确保括号平衡,即关闭括号映射回其开放括号。
在下面的正则表达式代码中,除了注意到括号不平衡外,一切都运行完美,内部结束括号被视为外部开始括号。
使用上面的正则表达式代码,干蔓越莓没有被正确拆分。请参考此处的输出屏幕截图: 正则表达式代码输出 任何帮助都将不胜感激..谢谢!
在下面的正则表达式代码中,除了注意到括号不平衡外,一切都运行完美,内部结束括号被视为外部开始括号。
text <- "PEANUTS (PEANUTS, PEANUT OIL AND/OR COTTONSEED OIL AND/OR CANOLA OIL AND/OR SOYBEAN OIL, SALT), GOLDEN RAISINS (RAISINS, SULFUR DIOXIDE), DRIED CRANBERRIES (CRANBERRIES, SUGAR, CITRIC ACID, SUNFLOWER OIL (PROCESSING AID), ELDERBERRY JUICE CONCENTRATE (COLOR)), ALMONDS (ALMONDS, PEANUT OIL AND/OR COTTONSEED OIL AND/OR CANOLA OIL AND/OR SOYBEAN OIL, SALT), MACADAMIAS (MACADAMIAS, MALTODEXTRIN, SALT)"
strsplit(text, '\\([^*)^)]*\\)(*SKIP)(*F)|\\,', perl=T)
使用上面的正则表达式代码,干蔓越莓没有被正确拆分。请参考此处的输出屏幕截图: 正则表达式代码输出 任何帮助都将不胜感激..谢谢!