正则表达式允许特定字符串的char之间的空格

时间:2015-07-03 06:11:15

标签: regex django string

我想创建一个正则表达式,以允许特定字符串的字符之间的空格。

上下文是我们有一个不干净的数据库,其字符串有时包含他们不应该拥有的空间。我还不允许删除数据库中的空格(替换('',''))。

我希望有一个正则表达式能够匹配字符串,即使字符串是用空格剪切的。

例如: 奥巴马将匹配"奥巴马"," ob ama","奥巴马"," ob ama"," obam a",而不是" obamaa"," ocama"," "

有可能吗?如果有,怎么样?

感谢。

3 个答案:

答案 0 :(得分:1)

只需在每个字符之间添加<space>*

\bo *b *a *m *a\b

或在上面使用[ \t]*而不是空格。

答案 1 :(得分:0)

你也可以在没有正则表达的情况下做到这一点

>>> a = "ob ama"
>>> ''.join(a.split(' ')) == 'obama'
True

答案 2 :(得分:0)

这应该有效:

(\S? )*\S

如果前导空格有问题,应该修改。此外,这允许多个空格,但你没有真正说出任何相关的内容。如果除了常规空间之外还需要允许其他类型的空白字符,则需要进行一些修改。这应该处理其他空格字符:

(\S?\s)*\S