Unicode proporciona propiedades que identifican a caracteres de script que pertenecen. Los personajes pueden ser emparejados en función de su propiedad de script utilizando \p{Script=...}
.
no sé mucho acerca de los idiomas que usted ha mencionado, pero yo creo que usted quiere
\p{Script=Han}
aka \p{Han}
para el chino.
\p{Script=Hangul}
aka \p{Hangul}
para el coreano.
\p{Script=Cyrillic}
aka \p{Cyrl}
para cirílico.
\p{Script=Thai}
aka \p{Thai}
para tailandés.
Usted puede echar un vistazo a perluniprops para encontrar el que usted está buscando, o puede utilizar uniprops
* para encontrar las propiedades que coinciden con un carácter específico.
$ uniprops D55C
U+D55C ‹한› \N{HANGUL SYLLABLE HAN}
\w \pL \p{L_} \p{Lo}
All Any Alnum Alpha Alphabetic Assigned InHangulSyllables L Lo
Gr_Base Grapheme_Base Graph GrBase Hang Hangul Hangul_Syllables
ID_Continue IDC ID_Start IDS Letter L_ Other_Letter Print Word
XID_Continue XIDC XID_Start XIDS X_POSIX_Alnum X_POSIX_Alpha
X_POSIX_Graph X_POSIX_Print X_POSIX_Word
Para saber en qué personajes están en una propiedad determinada, puede utilizar unichars
*. (Esto es de utilidad limitada ya que la mayoría de los caracteres CJK no se nombran.)
$ unichars -au '\p{Han}'
⺀ U+2E80 CJK RADICAL REPEAT
⺁ U+2E81 CJK RADICAL CLIFF
⺂ U+2E82 CJK RADICAL SECOND ONE
⺃ U+2E83 CJK RADICAL SECOND TWO
⺄ U+2E84 CJK RADICAL SECOND THREE
...
$ unichars -au '\p{Hangul}'
ᄀ U+01100 HANGUL CHOSEONG KIYEOK
ᄁ U+01101 HANGUL CHOSEONG SSANGKIYEOK
ᄂ U+01102 HANGUL CHOSEONG NIEUN
ᄃ U+01103 HANGUL CHOSEONG TIKEUT
ᄄ U+01104 HANGUL CHOSEONG SSANGTIKEUT
...
* — uniprops
y unichars
están disponibles en el Unicode::Tussle distribución.