正規表現"."は改行文字にマッチしない
http://www.kt.rim.or.jp/~kbk/regex/regex.html#DOTによると処理系依存らしいが……。WindowsNTサーバ管理者のためのLinux入門の正規表現には、改行以外の任意の1文字にマッチ
と明記してある。
Rubyで試してみよう。まずヒアドキュメントで改行入りの文字列を作成。
s=<<END 0 1 0 1 END
これを1バイトずつAsciiコードで出力。コード表はhttp://e-words.jp/p/r-ascii.htmlを参照。
irb(main):008:0> s.scan(/./){|e|puts e[0]} 48 49 48 49 => "0\n1\n0\n1\n\n"
やはり改行が出ない。
改行も欲しいときはこんな感じか。
irb(main):009:0> s.scan(/.|\n/){|e|puts e[0]} 48 10 49 10 48 10 49 10 10 => "0\n1\n0\n1\n\n"