Ricerca…


Lettere corrispondenti in diversi alfabeti

Gli esempi di seguito sono riportati in Ruby, ma gli stessi abbinamenti dovrebbero essere disponibili in qualsiasi lingua moderna.

Diciamo che abbiamo la stringa "AℵNaïve" , prodotta da Messy Artificial Intelligence. Si compone di lettere, ma generico \w matcher non corrisponderà più:

▶ "AℵNaïve"[/\w+/]
#⇒ "A"

Il modo corretto per associare la lettera Unicode ai segni combinati è usare \X per specificare un grafo grafo. C'è un avvertimento per Ruby, però. Onigmo, il motore regex di Ruby, utilizza ancora la vecchia definizione di grafo grapheme . Non è ancora stato aggiornato ad Extended Grapheme Cluster come definito nell'Allegato 29 Unicode Standard .

Quindi, per Ruby potremmo avere una soluzione: \p{L} andrà quasi bene, salvo che fallisce sull'accento diacritico combinato su i :

▶ "AℵNaïve"[/\p{L}+/]
#⇒ "AℵNai"

Aggiungendo i "Segna simboli" all'espressione, possiamo finalmente abbinare tutto:

▶ "AℵNaïve"[/[\p{L}\p{M}]+/]
#⇒ "AℵNaïve"


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow