2012-05-31 76 views
1

我正在Python中編寫代碼,並從不同變量中取出兩個或更多單詞,並試圖在給定文本中找到匹配項。動態查找兩個字符串之間的多個空格

例如,兩個變量可以聲明如下:用於匹配

string1 = 'Polluted' 
string2 = 'air' 

而且文本可能是:

'Polluted\t\t\t air ''Polluted\tair'

單詞/標記之間也可能有多個空格。

我需要找到一個解決方案,是類似於:re.search(string1'\t+'string2,var)

你能否實現這個按預期的解決方案幫助嗎?

回答

4

使用\s相當於集合[ \t\n\r\f\v],如果使用re.UNICODE,則在Unicode字符屬性數據庫中將其分類爲空格。

>>> var = 'Polluted\t\t\t air, Polluted\tair' 
>>> re.findall(re.escape(string1) + '\s+' + re.escape(string2), var) 
['Polluted\t\t\t air', 'Polluted\tair'] 

>>> re.search('(\w+)\s+(\w+)', 'Polluted\t\t\t air').groups() 
('Polluted', 'air') 
+1

我覺得提問者實際上想要're.search(re.escape(字符串1)+ '\ S +' + re.escape(字符串1),...)' –

+0

@MarkLongair謝謝!我更新了答案。 – okm

相關問題