之间我解析有这样的诗句为的Python:在空间分割,除了某些字符
type("book") title("golden apples") pages(10-35 70 200-234) comments("good read")
一个文件,我想这个分成不同的字段。
在我的示例中,有四个字段:类型,标题,页面和注释。
分割后期望的结果是
['type("book")', 'title("golden apples")', 'pages(10-35 70 200-234)', 'comments("good read")]
很显然,一个简单的字符串分割将无法正常工作,因为它会在每一个空间分割刚。 我想分割空格,但在括号和引号之间保留任何内容。
我该如何分割?
不错,虽然它似乎在返回的列表中添加了一些额外的括号(我不知道它们来自哪里)。我使用py3。 – MxyL 2012-03-10 07:48:20
试试这个:'re.split(r“\ s +(?= [^()] *(?:\(| $))”,subject)' – San4ez 2012-03-10 07:50:06
@Keikoku修正了它,这是因为捕获组。 – 2012-03-10 07:51:13