【Ruby3.x】Regexp::compile()メソッドの使い方
compileメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
compileメソッドは、正規表現オブジェクトを生成または取得するメソッドです。RubyのRegexpクラスに属しており、プログラム内で動的に正規表現パターンを構築する際に利用されます。
このメソッドは、主に二つの引数を受け取ります。最初の引数には、正規表現のパターンを表す文字列、あるいは既存のRegexpオブジェクトを指定します。文字列を指定した場合、その文字列が正規表現パターンとして解釈されます。Regexpオブジェクトを指定した場合は、そのオブジェクトが複製されたり、またはそれがそのまま返されたりします。
第二引数には、正規表現の挙動を制御するオプション(フラグ)を指定できます。このオプションは、整数値の定数(例えば、Regexp::IGNORECASEで大文字小文字を区別しない)や、オプション文字(例えば、"i")の組み合わせを示す文字列で指定可能です。これにより、正規表現リテラル(例: /pattern/i)で指定するのと同じように、大文字小文字の区別や複数行モードなどの振る舞いを細かく設定できます。
compileメソッドは、引数で指定された正規表現パターンとオプションに基づいて、新しいRegexpオブジェクトを生成し、それを返します。これはRegexp.newメソッドのエイリアスであるため、機能は全く同じです。例えば、ユーザー入力などプログラムの実行中に正規表現パターンが決定されるような場面で、このメソッドは非常に役立ちます。プログラムの柔軟性を高め、多様な文字列処理に対応するために重要な役割を果たします。
構文(syntax)
1Regexp.compile(str)
引数(parameters)
pattern, option = nil, enc = nil
- pattern: 正規表現パターンを表す文字列またはRegexpオブジェクト
- option = nil: 正規表現のオプションを指定するシンボル。例: :i (大文字小文字を区別しない), :x (空白を無視する)
- enc = nil: 文字エンコーディングを指定する文字列。例: "UTF-8"
戻り値(return)
Regexp
指定された正規表現パターンをコンパイルした Regexp オブジェクトを返します。