Web サーバ H2O の設定には mruby を使うので、 H2O の設定ファイル h2o.conf を生成する自前の YAML トランスレータ(?)も Ruby で書いてみることにしました。 Ruby 書くのなんて何年ぶりだろう・・・・。

で、ハマったのが、String#match の挙動です。Regexp#match と同じハズ。
https://docs.ruby-lang.org/ja/2.4.0/class/String.html#I_MATCH
https://docs.ruby-lang.org/ja/2.4.0/method/Regexp/i/match.html

第2引数として pos が渡せるのですが、pos0 以外の値を渡した場合、「文字列先頭にマッチする正規表現」(つまり ^\A)は絶対にマッチしません

1
2
3
$ ruby -e 'p "abc".match(/^./, 1)'
nil
$

ドキュメントに書いておいてほしかったなぁ。