Python中的正则表达式/括号和逗号分隔符 - ast.literal?

时间:2014-11-16 15:15:30

标签: python regex split abstract-syntax-tree

我正在尝试将字符串拆分为列表,并考虑以下规则:

  • 每个列表包含三个元素(运算符,元素1和元素2)
  • ()位于字符串的开头和结尾,用于嵌套
  • 以逗号分隔元素

实施例: A + B编码为'('+','A','B')

我也可以嵌套,例如:

(A + B)-C编码为'(' - ',('+','A','B'),'C')

我一直在尝试使用正则表达式,但我找不到我想要的东西。我知道如何处理嵌套,一旦我能够进行第一次拆分(在上面的示例中,得到(' - ','A + B','C'),但真正的问题是如何开始。我一直在努力阅读有关正则表达式的内容,但我发现它很难理解并且我没有成功。

编辑:不确定我的目标是否明确,我的目标是获得一系列元素。在嵌套的情况下,我需要列表中的列表。我的目标不是获得A + B = C,而是以列表中的不同元素“+”,“A”和“B”获得它们在句子中的顺序。在嵌套的情况下,我应该在列表中有一个列表,其外观与字符串完全相同,但组织为不同的元素。

EDIT2:经过一番搜索,我认为我需要的是接近ast.literal_eval的东西,但我不确定。要导入的句子是正确的Python列表语法,我只需要Python来导入它。

提前致谢!

0 个答案:

没有答案