没有表达python正则表达式

时间:2015-05-19 06:37:15

标签: python regex

我想过滤字符串中的所有“wub” 例如 “wubwubwubIwubwubwubAmwubwubHere” - >我在这里

首先我尝试了re.split(r'wub',string),结果是['', '', '', 'I', '', '', 'AM', '', 'Here']。一些没有元素出现。我必须添加filter来删除这些无元素。我想知道是否有一种直接的常规快递方法可以过滤所有“wub”而不留下任何元素?

像这样 re.split(r'\s+', 'a b c') - > ['a','b','c']

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容进行匹配:

(wub)+

并替换为(space)

答案 1 :(得分:0)

单独的正则表达式无法单独执行此操作。

>>> s = "wubwubwubIwubwubwubAmwubwubHere"
>>> re.sub(r'(?:wub)+', ' ', s).strip()
'I Am Here'

OR

>>> ' '.join(i for i in re.split(r'(?:wub)+', s) if i)
'I Am Here'