2016-08-05 108 views
-1

我想将一个字符串拆分为括号内的几个部分,但引用的内容(可能包括括号)应被视为单个符号。例如,串括号内的正则表达式在引号内

(ID1, “你好简单”),(ID2, “你好\ n怪异(所有字符)Ä@”)

应分为两个部分

1) ID1, “你好简单的”

2)ID2, “你好\ n怪异(所有字符)Ä@”

我怎样才能做到这一点在Python?

+0

聘请程序员 – stark

+0

查找到Python的拆分[模块](https://docs.python.org/2/library/stdtypes。 html#str.rsplit) – TheGirrafish

回答

0

如果你确实需要使用regex,这个工作从您的文章中的当前字符串:

import re 
pat = re.compile(r'\(([a-zA-Z0-9"\(\)\s]+)\)') 
matches = re.findall(pat, '(Hello "(world)"), (2016)') 
# ['Hello "(world)"', '2016'] 

然而,split功能也可用于文本格式的可行的选择。如果所有的数据由一对括号包围,你可以这样做:

results = [x[1:-1] for x in '(Hello "(world)"), (2016)'.split(', ')] 
# ['Hello "(world)"', '2016'] 
+0

谢谢。看来我过分简化了这个问题。你能看看编辑过的问题吗?基本上,引号内的内容可以是任何符号,包括转义和unicode。逗号也可以出现在每个拆分部分内。 – Roz

相关问题