2016-08-05 104 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

相關問題