【发布时间】:2013-01-06 12:55:00
【问题描述】:
我在使用 Python 正则表达式时遇到了一个小问题。
假设这是输入:
(zyx)bc
我想要实现的是获得括号之间的任何内容作为单个匹配项,并将任何外部字符作为单个匹配项。期望的结果将是:
['zyx','b','c']
应保持匹配顺序。
我已尝试使用 Python 3.3 获取此信息,但似乎无法找出正确的正则表达式。到目前为止,我有:
matches = findall(r'\((.*?)\)|\w', '(zyx)bc')
print(matches) 产生以下结果:
['zyx','','']
任何想法我做错了什么?
【问题讨论】:
-
这只是一个示例输入。正则表达式应该能够区分不同的情况,例如 (ab)(bc)(ca)、abc、(abc)(abc)(abc) 或 (zyx)bc 等,同时识别哪些字符在其中括号,哪些不是。
标签: python regex regex-alternation