正規表現「d」を使用して文字列が数値かどうかを判断しようとすると、このパターンは「78.46.92.168:8000」のような IP アドレスにも一致することがわかります。 「d」は数字のみに一致すると予想されるため、これは混乱を招く可能性があります。これが発生する理由を理解するには、「d」の動作を理解する必要があります。
「d」文字クラスは、どの文字クラスとも一致します。 ASCII 範囲 (0 ~ 9) 内の 1 桁の文字。 " " 量指定子は、先行する要素 (この場合は "d") が 1 つ以上出現することを示し、"d " が 1 つ以上の数字のシーケンスに一致することを示します。
例の文字列 "78.46. 92.168:8000」の場合、シーケンス「78」は「d」と有効に一致します。文字列全体ではなく、最初の 78 個と一致します。一致が成功したため、コードは doStuff() の呼び出しに進みます。
文字列全体を一致させ、文字列に数字のみが含まれていることを確認します。 、より具体的な正規表現パターンを使用する必要があります。
以上が正規表現「\d 」が数字だけではなく「78.46.92.168:8000」のような IP アドレスと一致するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。