【发布时间】:2018-05-22 08:58:55
【问题描述】:
我有一个像下面这样的字符串。
s = ({[test1, test2 ; test3 (New) ]})
现在我有一个正则表达式,它将删除括号并将其转换为列表。即使有用a;b,c隔开之类的。 正则表达式:
output = [i for i in re.split(r'\s*[(){}<>\[\],;\'"]\s*', s) if i]
但是这个正则表达式也会从列表中的项目中删除括号。 ((新) 就我而言)
如何将此正则表达式应用于字符串的开头和结尾。我知道可以使用^ 完成,但不确定如何?
预期输出
['test1', 'test2', 'test3 (New)' ]
来自上述正则表达式的输出
['test1', 'test2', 'test3', '新']
有什么帮助吗?
【问题讨论】:
-
你的预期输出是什么?
-
更新了我的问题
-
将括号添加到列表元素是一个选项吗?
(New)元素是否总是列表中的最后一个? -
不,我的意思是在我的字符串的任何元素中都可能有
(New)这样的东西。我只想从字符串的开头和结尾删除括号 -
@JayeshDhandha,这个字符串
-[({[test1, test2(3) ; test3 (New) ]})]-的结果应该是什么?