Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 引号内圆括号的正则表达式_Python - Fatal编程技术网

Python 引号内圆括号的正则表达式

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]+)\)')

我想在括号中将字符串分成几个部分,但引用的内容(可能包括括号)应被视为单个符号。例如,字符串

(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]+)\)')
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。逗号也可以出现在每个分割的零件内。