1. ホーム
  2. ルビー

[解決済み】Rubyの正規表現における「◎」「△」「◇」の違いについて

2022-04-10 13:42:55

質問

ドキュメントを読むと

文字列の先頭と末尾を一致させる場合は、"Ⓐ"と"Ⓑ"を、行の先頭と末尾を一致させる場合は、"^"と"$"を使用します。

ユーザーから送信されたユーザー名(またはメールアドレスが同じかどうか)をチェックするために正規表現を適用しようと思っています。どの正規表現を validates_format_of をモデル化することはできますか?違いがよくわかりません。私はいつも^と$を使用しています ...

どのように解決するのですか?

バリデーションのために正規表現に依存している場合、常に \A\z . ^$ は改行文字までしかマッチしないので、次のようなメールを使用することができます。 [email protected]\n<script>dangerous_stuff();</script> の前にあるものだけを見るので、バリデーションを行うことができます。 \n .

私のお勧めは、ユーザー名やメールアドレスから改行する正当な理由がほとんどないため、あらかじめ完全に削除しておくことです。それから、あなたは安全にEITHERを使用することができます \A \z または ^ $ .