6
我有一個帶有韓文和中文字符的文件。我想找到對,其中括號語句用來給漢字的韓語單詞,像這樣:한문(漢文)Perl正則表達式從任意集合中查找字符
搜索將是這個樣子:/[korean characters] \([chinese characters]\)/
如何指定的中國或韓文字符或其他任何設置,例如西里爾文或泰文?
我有一個帶有韓文和中文字符的文件。我想找到對,其中括號語句用來給漢字的韓語單詞,像這樣:한문(漢文)Perl正則表達式從任意集合中查找字符
搜索將是這個樣子:/[korean characters] \([chinese characters]\)/
如何指定的中國或韓文字符或其他任何設置,例如西里爾文或泰文?
Unicode提供的屬性標識字符所屬的腳本。字符可以使用\p{Script=...}
根據其腳本屬性進行匹配。
我不知道很多關於你提到的語言,但我想你想
\p{Script=Han}
又名\p{Han}
爲中國。\p{Script=Hangul}
又名\p{Hangul}
朝鮮語。西里爾文的\p{Script=Cyrillic}
aka \p{Cyrl}
。\p{Script=Thai}
aka \p{Thai}
泰國。你可以看看perluniprops找到你所要找的人,或者你可以使用uniprops
*找出哪些屬性匹配特定的字符。
$ 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
要找出給定屬性中的哪些字符,可以使用unichars
*。 (這是用處有限,因爲大多數CJK字符沒有被命名。)
$ 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
和unichars
可從Unicode::Tussle發行。