[JavaScript] 正規表現でハイフンやダッシュなどの区切り文字を unicode-regex + Dash_Punctuation で検出する

JavaScript, Node.js で、正規表現でハイフンやダッシュなどの区切り文字を unicode-regex + Dash_Punctuation で検出する方法をご紹介します。

JavaScript

前提条件 ハイフンやダッシュを漏れなく正規表現で判定したい

― の文字の種類がたくさんあり、これの入力値をまるっと正規表現で判定するために unicode-regex という npm を利用することにしました。

例)

  • ― ダッシュ
  • − ハイフン マイナス
  • ‐ ハイフン

Google 日本語入力でのダッシュ、ハイフン

Google 日本語入力の変換候補でも、1ページ目にこれぐらいの種類が表示されます。

Unicode Dash_Punctuation | Google IME

unicode-regex + Dash_Punctuation

サンプルコード ハイフンやダッシュを検出する正規表現

const unicodeRegex = require('unicode-regex');

const dashRegex = unicodeRegex({
  General_Category: ['Dash_Punctuation']
});

console.log(dashRegex.toString());

// [\u002d\u058a\u05be\u1400\u1806\u2010-\u2015\u2e17\u2e1a\u2e3a-\u2e3b\u2e40\u301c\u3030\u30a0\ufe31-\ufe32\ufe58\ufe63\uff0d]

参考: List of Unicode Characters of Category “Dash Punctuation”

以上、JavaScript, Node.js で、正規表現でハイフンやダッシュなどの区切り文字を unicode-regex + Dash_Punctuation で検出したい、現場からお送りしました。