Sto cercando l'equivalente di [\w]&&[^\d]
(Ovviamente & & non è un operatore di espressioni regolari). L'espressione regolare deve corrispondere SOLO a parole costituite da caratteri "alfabetici" UTF8. Qualcuno ha qualche idea?Quale regex di Python corrisponde a tutti i caratteri dell'alfabeto ma non ai numeri? [unicode aware]
risposta
regex
supporta le proprietà Unicode, il che significa che è possibile utilizzare \p{L}
con esso.
Utilizzare [a-zA-Z] per abbinare tutti i caratteri dell'alfabeto.
errato. Questo mancherà "あ". –
Questo non è un carattere alfabetico. –
Sì, lo è. Non è solo un personaggio dell'alfabeto inglese. –
Non sono sicuro della regex, ma per unicode si potrebbe essere in grado di utilizzare il modulo uncodedata
; in particolare la funzione unicodedata.category()
AFAICT, non esiste un'espressione regolare che corrisponda a tutte le lettere ma non alle cifre o ai caratteri di sottolineatura.
Potreste usare \w
e quindi controllare per vedere se le partite sono lettere utilizzando le proprietà dei punti di codice:
def isletter(c):
return unicodedata.category(c).startswith('L')
Come Ignacio sottolineato [a-zA-Z]
non corrisponde a caratteri Unicode, e non c'è classe di caratteri predefiniti per tutti i caratteri Unicode, si consiglia di usare qualcosa di simile a quanto segue, che sarebbe semplice e lineare
re.findall("(["+string.letters+"])+",st)
si prega di notare, string.letters dipende dal locale e se non si wa nt per cambiare il locale, che puoi fare fuori rotta con locale.setlocale(locale.LC_CTYPE, code)
, questo dovrebbe funzionare come un gioco da ragazzi.
- 1. RegEx - Corrisponde ai simboli usando ma non li sostituisce
- 2. L'espressione regolare di Java corrisponde a tutti i caratteri tranne
- 3. Regex di Python che corrisponde a tutto ma l'ultima occorrenza
- 4. Regex per abbinare tutti i caratteri eccetto lettere e numeri
- 5. Regex corrisponde solo a esso e relativo, ma non è
- 6. Come convalidare "caratteri di parole" unicode in regex Python?
- 7. Looping attraverso python regex corrisponde a
- 8. RegEx: come posso abbinare tutti i numeri maggiori di 49?
- 9. Python .lower non sembra correttamente in minuscolo tutti i caratteri unicode (Python 2.7)
- 10. AngularJs UI typeahead corrisponde ai caratteri principali
- 11. Regex per tutti i caratteri PRINTABLE
- 12. Il regex non deve corrispondere ai numeri tra parentesi
- 13. In Python, come elencare tutti i caratteri identificati dalla regex estesa di POSIX `[: space:]`?
- 14. Regex Partita E commerciale ma non i caratteri di escape XML
- 15. escludendo tutti i caratteri di una stringa, lasciando i numeri
- 16. Come gestire i caratteri Unicode (non ASCII) in Python?
- 17. Python estremamente enigmatico regex comportamento unicode
- 18. python regex con emissione unicode (giapponese) personaggio
- 19. vim regex incrementa tutti i numeri di 1
- 20. Regex sostituire tutti i caratteri di nuova riga con virgola
- 21. RegEx - Ottieni tutti i caratteri dopo l'ultima barra nell'URL
- 22. Come abbinare i caratteri accentati con una regex in Python?
- 23. L'espressione regex di Python \ w non corrisponde alla combinazione di segni diacritici?
- 24. Il pattern Regex non corrisponde a determinati titoli di show
- 25. Sostituisci tutti i caratteri non parola come? * + #
- 26. regex Python: compresi gli spazi bianchi nell'intervallo di caratteri
- 27. Regex: corrisponde all'indirizzo IP tranne quando preceduto da determinati caratteri?
- 28. Java regex per rimuovere tutti i numeri finali?
- 29. Somma di tutti i numeri
- 30. grep: corrisponde a tutti i caratteri fino a (escluso) primo spazio vuoto
NON eseguire MAI regex sul testo codificato. –
http://stackoverflow.com/questions/8923949/matching-only-a-unicode-letter-in-python-re – warvariuc
Stai parlando dell'alfabeto inglese? Quindi le risposte [a-zA-Z] di seguito saranno sufficienti. Altrimenti sei pronto per un trattamento ... –