理系公務員のプログラミング日記

【正規表現クックブック】Unicode

タグ:
JavaScript

正規表現をしっかり勉強したくなって買った。

UnicodeとJavaScript

・コードポイント・・・Unicode文字データベースの1エントリのこと。
・プロパティ・・・・・各コードポイントの大まかな分類。
・General Category・・・「文字」「数字」「記号」などの文字の大まかな分類。
・Script・・・「ラテン文字」「アラビア文字」「ひらがな」「カタカナ」「漢字」のような分類。
・Script Extensions・・・長音記号や濁音などのどのカテゴリでも使われる記号をScriptの分類に追加したもの。

JavaScriptではECMAScript2018からUnicodeの文字プロパティにマッチングする正規表現の書き方が取り入れられている。

日本語の正規表現

const ja = "ひらがなカタカナ漢字"; const matchHiragana = /\p{Script=Hiragana}/ug // const matchHiragana = /[\u3040-\u309F]/g const matchKatakana = /[\u30A0-\u30FF]/g const matchKanji = /\p{Script=Han}/ug // const matchKanji = /[\u4E00-\u9FFF]/ console.log(ja.match(matchHiragana)); console.log(ja.match(matchKatakana)); console.log(ja.match(matchKanji));

参考:Unicodeの文字プロパティを指定した正規表現をみてみる(ECMAScript2018)