Ruby 1.9 系において、バイナリ文字列 (ASCII-8BIT の String オブジェクト) に対する正規表現マッチングをさせる方法について記します。 Ruby 1.9 系において URL デコードを行う際などに役に立ちます。 正規表現リテラルの n オプション 正規表現リテラルの後ろに n と書くことで、その正規表現をバイナリ扱い (エンコーディング ASCII-8BIT) にすることができます。 ASCII-8BIT は ASCII 互換なので、ASCII 文字列を中身に書くことができます。 regexp = /abcd/n しかし、ASCII に含まれないものを中に入れるとエラーになります。 regexp = /abcdあ/n この結果は以下のようになります。 SyntaxError: (irb):1: regexp encoding option 'n' differs