2015-07-03 150 views
1

我想創建一個正則表達式來允許特定字符串的字符之間的空格。正則表達式允許特定字符串的字符之間的空格

上下文是我們有一個不清潔的數據庫,字符串有時包含它們不應該有的空間。我還沒有允許刪除數據庫中的空間(替換('',''))。

我想有一個正則表達式即使字符串被空格切割也能匹配一個字符串。奧巴馬會與「奧巴馬」,「奧瑪」,「奧巴馬」,「奧瑪」,「奧巴馬」,但不是「奧瑪亞」,「奧卡瑪」,「」相匹敵。

可能嗎?如果是,如何?

謝謝。

回答

1

只需在每個字符之間加上<space>*即可。

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

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

0

你可以做到這一點沒有正則表達式也

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

這應該工作:

(\S?)*\S 

如果前導空格是一個問題,這應該被修改。此外,這允許多個空間,但你沒有真正說出任何有關的。如果您需要允許除常規空間以外的其他類型的空白字符,則需要進行更多修改。這應該處理其他空格字符:

(\S?\s)*\S 
相關問題