【Ruby/UTF-8】正規表現で文字コード番号を利用する

ネット上の文字に含まれる「ノーブレークスペース(nbsp)」など、入力できない文字にも正規表現でマッチできる方法です。

試しに、「ふわ」にマッチする正規表現をつくってみましょう。
STEP1: 文字コード番号を調べる
文字コード表サイトなどからコード番号を取得します。
例えば、
http://www.tamasoft.co.jp/ja/general-info/unicode.html
を見ると、「ふ」は「3075」番、「わ」は「308F」番だということがわかります。

STEP2: 文字を[\uNNNN]形式で正規表現記述する
先ほど調べたコード番号を[\uNNNN]形式で入力します。[....]は「[...]内に含まれる文字いずれかとマッチする」という意味もありますが、「\u」を先頭に付けることで、文字コード番号が示す文字を指すことになるようです。

#「ふわ」にマッチ
'ふわ' =~ /[\u3075][\u308F]/

#「ふ」もしくは「わ」にマッチ
'ふわ' =~ /[[\u3075][\u308F]]/

#ノーブレークスペースを削除する
str.gsub(/[\u00A0]/, '')

こんなカンジで、文字列と同じようにあつかえます。