Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Regexpクラス > to_s
to_s -> String
[permalink][rdoc]正規表現の文字列表現を生成して返します。返される文字列は他の正規表 現に埋め込んでもその意味が保持されるようになっています。
re = /foo|bar|baz/i p re.to_s # => "(?i-mx:foo|bar|baz)" p /#{re}+/o # => /(?i-mx:foo|bar|baz)+/
ただし、後方参照を含む正規表現は意図通りにはならない場合があります。 これは現状、後方参照を番号でしか指定できないためです。
re = /(foo|bar)\1/ # \1 は、foo か bar p /(baz)#{re}/ # \1 は、baz # => /(baz)(?-mix:(foo|bar)\1)/
使用例
re = /foo|bar|baz/i p re.to_s # => "(?i-mx:foo|bar|baz)" p /#{re}+/o # => /(?i-mx:foo|bar|baz)+/
[SEE_ALSO] Regexp#inspect