Quando imbusto un oggetto regex con una particolare locale, come influenza il comportamento di abbinamento? Ha effetto sulla collazione o su qualsiasi altra cosa? Non riesco a trovare una spiegazione da nessuna parte.Comportamento specifico della locale nella libreria regex?
19
A
risposta
42
Colpisce almeno quanto segue:
- fascicolazione: la regex
[a-f]
intriso di un locale francese dovrebbe corrispondere al carattere é. - Analogamente,
\w
in un locale Finlandese dovrebbe corrispondere un carattere (ma[a-z]
dovrebbe non, come A, A e O raccogliere dopo z in finlandese. In tedesco, tuttavia,[a-z]
deve corrispondere a.) - In un locale compatibile con Unicode, è necessario utilizzare l'algoritmo Unicode equivalence, in modo che le forme composte di un carattere corrispondano a una forma scomposta e viceversa.
- Con un sapore regex compatibile con POSIX (base, esteso, awk, grep ed egrep), lo POSIX character classes deve essere compatibile con le impostazioni internazionali:
[=e=]
deve corrispondere a é in un locale francese ma non in un locale inglese.
3
Nelle impostazioni locali spagnole, si noti che "ch" e "ll" non sono più considerati lettere singole nell'alfabeto, poiché questo è stato modificato dalle entità pertinenti. Non riuscivo a trovare la data esatta, ma in questo momento "ch" e "ll" sono due lettere:
http://en.wikipedia.org/wiki/Ll
Penso implementazioni riflettono ora questo fatto.
Problemi correlati
- 1. Indice di riferimento della libreria Regex
- 2. grep comportamento spazi regex
- 3. Regex/lastIndex - Comportamento imprevisto
- 4. Regex per nome dominio specifico
- 5. Comportamento strano modello angolare JS (regex)
- 6. Python estremamente enigmatico regex comportamento unicode
- 7. C: libreria Regex con MinGW
- 8. È un normale comportamento regex di Java?
- 9. Uso contemporaneo di std :: regex, comportamento definito?
- 10. regex .NET specifico per .net C# dataannotations
- 11. Java regex l'ottimizzazione di questo caso specifico?
- 12. Modifica della data Utc nella data locale utilizzando moment.js
- 13. Cosa significa "flushing thread" della memoria locale nella memoria globale?
- 14. Android salva l'immagine della telecamera nella memoria locale
- 15. Wildfly standalone nella rete locale
- 16. Specificare Dinamico locale nella griglia
- 17. corrispondenza di espressione regolare C# a indice specifico nella stringa?
- 18. Regex nella dichiarazione di Linq?
- 19. Registrazione oggetto nella libreria statica
- 20. Libreria regex compatibile con POSIX per Visual Studio C
- 21. Rilevamento del thread della GUI nella libreria Qt
- 22. Come calcolare l'inversa della matrice sparsa nella libreria Eigen
- 23. Quali sono gli hash (#) usati nella sorgente della libreria?
- 24. Font nella libreria Android
- 25. Come impostare l'origine (drag.origin) per il comportamento di trascinamento nella libreria JavaScript d3
- 26. Riproduzione video locale nella webview
- 27. UserControls nella libreria di classi
- 28. Includere R locale interattiva nella presentazione
- 29. Punto interrogativo nella regola mod_rewrite regex
- 30. CMake regex partita directory nella lista
Vedere anche http://stackoverflow.com/q/10540305/83805 –
@DonStewart: Mi interessavano solo le specifiche C++. Il comportamento specifico locale non è necessariamente lo stesso ovunque io immagino. –
Locale ha effetto sui motori regex conformi a POSIX, che è almeno il punto di partenza per la maggior parte delle librerie di espressioni regolari disponibili. –