我有以下幾乎正常工作的正則表達式。包含和不包含字符的正則表達式
WORD_REGEXP = re.compile(r"[a-zA-Zá-úÁ-Úñ]+")
它包括有或沒有重音的大小寫字母加西班牙文字母«ñ»。不幸的是,它還包括(我不知道爲什麼)西班牙語中使用的字符,如«¡»或«¿»,我也想刪除它們。
在像¡España, olé!
這樣的行中,我想通過正則表達式僅提取España
和olé
。
如何在正則表達式中排除這兩個字符(«¿»,««»)?
根據stribizhe,好像正則表達式好。所以問題一定是其他問題。我包括完整的Python代碼:
import re
linea = "¡Arriba Éspáña, ¿olé!"
WORD_REGEXP = re.compile(r"([a-zA-Zá-úÁ-Úñ]+)", re.UNICODE)
palabras = WORD_REGEXP.findall(linea)
for pal in palabras:
pal = unicode(pal,'latin1').encode('latin1', 'replace')
print pal
結果如下:
¡Arriba
Éspáña
¿olé
快速[正則表達式測試](https://regex101.com/r/qZ0sY3/1)顯示正則表達式不匹配那些標點符號。你能提供一個小提琴來重現這個問題嗎? –
你在找[單詞字符](https://docs.python.org/2/library/re.html#regular-expression-syntax)嗎?有一個字符類:'\ w'。這適用於我:'re.search(r「\ w +」,「España,olé!」)''。 – Jasper