我需要使用正则表达式编写一个函数func(string)
,该函数作为分割字符串的结果返回结果列表。分隔符可以用逗号分隔,并带有可选的空格或单个冒号。使用:
和查看示例中的“空格” ,
。我不知道如何达到这种效果。
我期望的结果:
>>> func("foo, bar , sss:s")
['foo', 'bar', 'sss', 's']
>>> func("foo"),
['foo']
>>> func("bla : bla"),
'bla ', ' bla'
我现在有这个:
import re
def func(t):
match = re.split(r'[,:]', t)
return match
如果我根据你的解释和提供的示例正确地理解了你,则逗号前后的逗号可能不同,或者冒号之间没有任何空格。在这种情况下,应该可以进行以下操作:
def func(str_to_split):
return re.split(r':| *, *', str_to_split)
正则表达式将':| *, *'
查找单个冒号或可选空格,后跟逗号,然后再可选空格。