Attualmente uso re.findall per trovare e isolare le parole dopo il carattere '#' per i tag hash in una stringa:Come spiegare i caratteri accentati per regex in Python?
hashtags = re.findall(r'#([A-Za-z0-9_]+)', str1)
E ricerche str1 e trova tutti gli hashtag. Questo funziona, tuttavia, non tiene conto di caratteri accentati come questi, ad esempio: áéíóúñü¿
.
Se una di queste lettere è in str1, salverà l'hashtag fino alla lettera precedente. Ad esempio, #yogenfrüz
sarebbe #yogenfr
.
ho bisogno di essere in grado di tenere conto di tutte le lettere accentate che spaziano dal tedesco, olandese, francese e spagnolo in modo da poter salvare hashtag come #yogenfrüz
Come posso fare per fare questo
Usa re.UNICODE' opzione '. –
@AshwiniChaudhary: il flag UNICODE non renderà l'intervallo utilizzato corrispondente ai caratteri non ASCII, no. Se si dice che un'espressione regolare corrisponde a "a-z", prende l'intervallo letterale, non l'interpretazione umana che 'a' e' á' in qualche modo sono la stessa cosa. –
@MartijnPieters: quindi, cosa lo farà? ;-) – JohnTortugo