为什么Python正则里也有split

为何Python正则里也有split?

字符串里的split也有没有办法的时候,形如

s = "aa::bb::cc::dd::ee"


用正则split和字符串split都可以得到如下结果


['aa', 'bb', 'cc', 'dd', 'ee']

但是,如果字符串是


s = "aa+:bb:+cc:-dd:!ee"

那怎样用字符串的split来分割呢?会比较麻烦!

但如果用正则的split就好办多了。


In [23]: s = "aa::bb::cc::dd::ee"
In [24]: s.split("::")
Out[24]: ['aa', 'bb', 'cc', 'dd', 'ee']
In [25]: print re.split("\W\W", s)
['aa', 'bb', 'cc', 'dd', 'ee']
In [26]: print re.split("\W\w", s)
['aa:', 'b:', 'c:', 'd:', 'e']
In [27]: s = "aa+:bb:+cc:-dd:!ee"
In [28]: print re.split("\W\W", s)
['aa', 'bb', 'cc', 'dd', 'ee']