Ruby の正規表現では、^ と $ の代わりに \A と \z が使用されるのはなぜですか? 質問する

Ruby の正規表現では、^ と $ の代わりに \A と \z が使用されるのはなぜですか? 質問する

私はRubyプログラマーではありませんが、Ruby on Rails セキュリティガイド、私はこのセクションに気づきました:

Ruby の正規表現でよくある落とし穴は、文字列の先頭と末尾を \A と \z ではなく ^ と $ で一致させてしまうことです。

これは単に美観の問題なのか、それとも何か他の問題なのか、誰か知っていますか? 私が質問するのは、 と を使用する言語しか使用したことがないから^です$

ベストアンサー1

これはRubyに限ったことではありません。\Aとは\Zと と同じではありません。と はの始まりと終わりです。^$^$ラインアンカー、および\A\Z開始と終了ですアンカー。

Ruby は、正規表現に「複数行モード」(前述の行ごとに一致させる動作を有効にする) を自動的に使用するという点で他の言語と異なります^$、他のほとんどの言語では、自分で有効にする必要があります。おそらくこれが、この記事に警告が含まれている理由です。

参照:http://www.regular-expressions.info/anchors.html

おすすめ記事