質問: 正規表現 m についてです。 `str="abc\ndef\nghi" p /def.ghi/=~str ...1 p /def.ghi/m=~str ...2` と実行したところ1の答えがnil,2の答えが4になりました。 なぜ答えが4になるのでしょうか? 今正規表現を学習している中で分かることは/.../,/\A.../,/[]/などの正規表現の基本文法、Regexp.new(String)です。 参考書にはmとは「.」が改行文字にもマッチするようになると書いてありますが何が言いたいのかが全く分かりません。 どなたか回答よろしくお願いします!
回答: すみません、何が疑問なのかもう少しはっきりさせていただけないでしょうか。 後者はabc\n「def\nghi」とヒットするので4文字目でヒットしています(`\n`はソースコード上の書き方の都合で、**データとしては1文字**です)。