私はRubyプログラマーではありませんが、Ruby on Rails セキュリティガイド、私はこのセクションに気づきました:
Ruby の正規表現でよくある落とし穴は、文字列の先頭と末尾を \A と \z ではなく ^ と $ で一致させてしまうことです。
これは単に美観の問題なのか、それとも何か他の問題なのか、誰か知っていますか? 私が質問するのは、 と を使用する言語しか使用したことがないから^
です$
。
ベストアンサー1
これはRubyに限ったことではありません。\A
とは\Z
と と同じではありません。と はの始まりと終わりです。^
$
^
$
ラインアンカー、および\A
は\Z
開始と終了です弦アンカー。
Ruby は、正規表現に「複数行モード」(前述の行ごとに一致させる動作を有効にする) を自動的に使用するという点で他の言語と異なります^
が$
、他のほとんどの言語では、自分で有効にする必要があります。おそらくこれが、この記事に警告が含まれている理由です。