【Ruby3.x】Regexp::union()メソッドの使い方
unionメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
unionメソッドはRegexpクラスに属し、複数の正規表現パターンを結合して、それらのいずれかにマッチする新しい正規表現オブジェクトを生成するメソッドです。これは、複数の異なるパターンの中から一つでも合致するものを見つけたい場合に非常に役立ちます。
このメソッドは、引数として複数の文字列または既存のRegexpオブジェクトを受け取ります。引数に文字列を渡した場合、その文字列は正規表現の特殊文字(例えば、任意の1文字を表すドット「.」や繰り返しを表すアスタリスク「*」など)が自動的にエスケープされ、あくまでも「その文字そのもの」として扱われます。これにより、ユーザーが意図しないマッチを防ぎ、安全にパターンを構築できます。
一方、Regexpオブジェクトを渡した場合は、その正規表現の内容がそのまま結合されます。例えば、特定のキーワードのリストから正規表現を作成したり、複数のファイル拡張子のパターンを一つにまとめたりする際に便利です。
Regexp.unionメソッドは、内部的には指定されたパターン群を正規表現のOR演算子である「|」で連結し、結果として新しいRegexpオブジェクトを返します。この機能により、複雑なマッチング条件を簡潔かつ柔軟に記述することが可能になります。
構文(syntax)
1Regexp.union("string1", "string2", "string3")
引数(parameters)
*rest
- rest: 結合する正規表現オブジェクトを可変長引数として指定します
戻り値(return)
Regexp
Regexp#union は、自身と引数として渡された正規表現を結合した新しい正規表現オブジェクトを返します。