收藏 匹配Unicode字元的正規表示式

2021-04-12 22:20:41 字數 935 閱讀 1403

原文:

這裡是幾個主要非英文語系字元範圍(google上找到的):

2e80~33ffh:中日韓符號區。收容康熙字典部首、中日韓輔助部首、注音符號、日本假名、韓文音符,中日韓的符號、標點、帶圈或帶括符文數字、月份,以及日本的假名組合、單位、年號、月份、日期、時間等。

3400~4dffh:中日韓認同表意文字擴充a區,總計收容6,582個中日韓漢字。

4e00~9fffh:中日韓認同表意文字區,總計收容20,902個中日韓漢字。

a000~a4ffh:彝族文字區,收容中國南方彝族文字和字根。

ac00~d7ffh:韓文拼音組合字區,收容以韓文音符拼成的文字。

f900~faffh:中日韓相容表意文字區,總計收容302個中日韓漢字。

fb00~fffdh:文字表現形式區,收容組合拉丁文本、希伯來文、阿拉伯文、中日韓直式標點、小符號、半形符號、全形符號等。

比如需要匹配所有中日韓非符號字元,那麼正規表示式應該是^[/u3400-/u9fff]+$

理論上沒錯, 可是我到msn.co.ko隨便複製了個韓文下來, 發現根本不對, 詭異

再到msn.co.jp複製了個'お', 也不得行..

然後把範圍擴大到^[/u2e80-/u9fff]+$, 這樣倒是都通過了, 這個應該就是匹配中日韓文字的正規表示式了, 包括我們台灣省還在盲目使用的正體中文

而關於中文的正規表示式, 應該是^[/u4e00-/u9fff]+$, 和論壇裡常被人提起的^[/u4e00-/u9fa5]+$很接近

需要注意的是論壇裡說的^[/u4e00-/u9fa5]+$這是專門用於匹配簡體中文的正規表示式, 實際上繁體字也在裡面, 我用測試器測試了下'中華人民共和國', 也通過了, 當然, ^[/u4e00-/u9fff]+$也是一樣的結果

匹配Unicode字元的正規表示式

這裡是幾個主要非英文語系字元範圍 google上找到的 2e80 33ffh 中日韓符號區。收容康熙字典部首 中日韓輔助部首 注音符號 日本假名 韓文音符,中日韓的符號 標點 帶圈或帶括符文數字 月份,以及日本的假名組合 單位 年號 月份 日期 時間等。3400 4dffh 中日韓認同表意文字擴充a...

匹配Unicode字元的正規表示式

這裡是幾個主要非英文語系字元範圍 google上找到的 2e80 33ffh 中日韓符號區。收容康熙字典部首 中日韓輔助部首 注音符號 日本假名 韓文音符,中日韓的符號 標點 帶圈或帶括符文數字 月份,以及日本的假名組合 單位 年號 月份 日期 時間等。3400 4dffh 中日韓認同表意文字擴充a...

lua正則匹配中文 Lua的字串匹配與正規表示式

lua的字串匹配與正規表示式 使用lua一段時間了,簡單總結下string庫中的幾個與正則相關的函式。這些函式是find,match,gmatch和gsub。然後是lua中支援的正則。文中的例子在lua5.3的命令列中試驗過。5.1版的需要在提示符前加乙個 號或加return空格。string.fi...