正規表現による文字列の整合性の検証
「d」正規表現を使用して数値入力を検証しようとすると、予期しない一致が発生する可能性があります。数字以外の文字を含む IP アドレスなど。この動作の根本原因を理解することは、効果的な文字列検証を実装するために重要です。
「d」正規表現は、文字列内の任意の連続した数字のシーケンスと一致します。ただし、ここで示した例では、IP アドレス「78.46.92.168:8000」に数字と数字以外の文字の両方が含まれています。 "d " は文字列内の任意の正の桁数に一致するため、残りの文字が桁の制約に従っていない場合でも、最初の 78 桁に一致します。
このような誤った一致を避けるには、次のように使用することをお勧めします。厳密な数値検証を強制する代替正規表現パターン。 1 つのアプローチは、文字列全体が数字のみで構成されるようにする「^d $」を使用することです。あるいは、Python の組み込み "isdigital()" メソッドを使用すると、文字列に数字のみが含まれているかどうかを確認する、より簡潔で簡単な方法が提供されます。
以上がIP アドレスで '\d ' が予期せず一致するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。