Python 如何使用正则表达式解析字符串中的括号和空格
我想在空白、字典和元组上拆分字符串 例如:Python 如何使用正则表达式解析字符串中的括号和空格,python,regex,Python,Regex,我想在空白、字典和元组上拆分字符串 例如: re.findall(,“foo-bar测试(1,2,3)yes-no-True-False{'a':1}”) #返回[“foo”,“bar”,“test”,“1,2,3”,“yes”,“no”,“True”,“False”,“{a:1}”] 提前感谢(\([^\]+\)\{[^\}]\}\S+似乎可以解决这个问题 匹配\S+或在\S+上拆分。此示例似乎包括将匹配转换为各种类型,作为匹配过程的一部分。这是不可能的。匹配项始终是字符串,您必须自己将其转
re.findall(,“foo-bar测试(1,2,3)yes-no-True-False{'a':1}”)
#返回[“foo”,“bar”,“test”,“1,2,3”,“yes”,“no”,“True”,“False”,“{a:1}”]
提前感谢
(\([^\]+\)\{[^\}]\}\S+
似乎可以解决这个问题 匹配\S+
或在\S+
上拆分。此示例似乎包括将匹配转换为各种类型,作为匹配过程的一部分。这是不可能的。匹配项始终是字符串,您必须自己将其转换为适当的类型。是否更新以反映返回的所有字符串元组和字典内容的任何保证?它们可以任意嵌套吗?到底是什么问题?你试过什么,做过什么研究吗?更新了字符串,使元组/词条中有空格。最有效的是,它在括号(元组)后插入文本。似乎在regex101.com上工作得很好,至少对于提供的字符串是这样。您看到的结果是什么?@BrettCullen可以使用\(.+\)
或(更好的)\([^)]+\)
而不是\(.+\)
。您还应该对\{.+\}
'(\(.+?\)\{.+?\}\124s+)
在给定regex101场景的情况下结束工作,谢谢大家