2013-01-07 94 views
1

當前我使用這個簡單的腳本來搜索字符串中的標籤;python正則表達式也匹配特殊字符

tag = "#tag" 
text = "test string with #tag inserted" 
match = re.search(tag, text, re.IGNORECASE) #matches 

現在假設文本包含a-acute;

tag = "#tag" 
text = "test string with #tág inserted" 
match = re.search(tag, text, re.IGNORECASE) #does not match :(

如何使此匹配工作?也應該爲其他特殊字符(é,è,í等)工作。

在此先感謝!

+1

做 「等特殊字符」 包括像Δ或Ж或新? – georg

回答

3

您可以用標準化的unidecode文字:

import unicodedata 

tag = "#tag" 
text = u"test string with #tág inserted and a #tag" 
text=unidecode(text) 
re.findall(tag, text, re.IGNORECASE) 

出來:

['#tag', '#tag'] 
+0

'unidecode'不是標準的Python庫。你能發佈一個鏈接嗎? – eumiro

+0

@eumiro - 謝謝,添加了鏈接。 – root

+0

這並沒有說明'tag''本身可能在字符串中的可能性。 – Volatility