正则表达式不会删除拆分函数中的特殊字符

Regex does not remove the special chars in split function

我正在使用正则表达式将字符串拆分为子字符串数组

输入:mark bill #special# #special method# johni

import re
re.split('[ #, #]+', 'mark bill #special# #special method# johni')

当我执行这个命令时,结果是:['mark', 'bill', 'special', 'special method' 'johni']

没错,但是在字符串中 'special' 我不想删除特殊字符 #

我想要这个结果:: ['mark', 'bill', '#special#', #special method#, 'johni']

可能吗?

谢谢。

而不是 split 你应该使用 findall:

print re.findall(r'#[^#]*#|\S+', 'mark bill #special# #special method# johni')

输出:

['mark', 'bill', '#special#', '#special method#', 'johni']