我需要帮助使用Python解析用户输入,其中涉及正则表达式和对正则表达式结果的迭代。例如输入如下:
KeylessBuy=f and not (Feedback.color = green or comment.color=green)
and not "BIN State".color = white and comment="got it right"
分割结果应为:
KeylessBuy=f
Feedback.color = green
comment.color=green
"BIN State".color = white
comment="got it right"
所以只选择直接围绕“=”符号的部分。我尝试了以下方法(包括其他方法):
r'(\w+\s{0,}(?<!=)={1,2}(?!=)\s{0,}\w+)'
r'|("(.*?)"\s{0,}(?<!=)={1,2}(?!=)\s{0,}\w+)'
r'|("(.*?)"\s{0,}(?<!=)={1,2}(?!=)\s{0,}"(.*?)")'
r'|(\w+\s{0,}(?<!=)={1,2}(?!=)\s{0,}"(.*?)")'
r'|(\w+\s{0,}\.\w+\s{0,}(?<!=)={1,2}(?!=)\s{0,}"(.*?)")',
这只是“几乎”给出了正确答案。非常感谢帮助!谢谢。马克