Python 引号内圆括号的正则表达式
我想在括号中将字符串分成几个部分,但引用的内容(可能包括括号)应被视为单个符号。例如,字符串 (id1,“Hello simple”),(id2,“Hello\n weird(所有字符)Ä@”) 应该分成两部分 1) id1,“你好,简单” 2) id2,“你好\n怪异(所有角色)Ä@”Python 引号内圆括号的正则表达式,python,Python,我想在括号中将字符串分成几个部分,但引用的内容(可能包括括号)应被视为单个符号。例如,字符串 (id1,“Hello simple”),(id2,“Hello\n weird(所有字符)Ä@”) 应该分成两部分 1) id1,“你好,简单” 2) id2,“你好\n怪异(所有角色)Ä@” 如何在Python中实现这一点?如果您真的需要使用regex,则可以使用您文章中的当前字符串: import re pat = re.compile(r'\(([a-zA-Z0-9"\(\)\s]+)\)')
如何在Python中实现这一点?如果您真的需要使用
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']
查看python的拆分谢谢。我似乎过分简化了这个问题。你能看一下编辑过的问题吗?基本上,引号内的内容可以是任何符号,包括转义符和Unicode。逗号也可以出现在每个分割的零件内。