當嘗試使用正規表示式「d」來確定字串是否為數字時,它可以您會發現該模式也與「78.46.92.168:8000」等IP 位址相符。這可能會令人困惑,因為人們可能認為“d”僅匹配數字。要理解為什麼會發生這種情況,有必要了解「d」的行為。
「d」字元類別符合任何ASCII 範圍 (0-9) 內的單一數字字元。 「 」量詞表示前一個元素(在本例中為「d」)出現一次或多次,表示「d」將符合一個或多個數字的序列。
在範例字串“78.46. 92.168:8000”,序列“78”是“d”的有效匹配。它匹配前 78 個字符,而不是整個字串。由於匹配成功,程式碼繼續呼叫 doStuff()。
匹配整個字串並確保它只包含數字,有必要使用更具體的正規表示式模式。
以上是為什麼正規表示式'\d”符合 IP 位址,如'78.46.92.168:8000”,而不是只符合數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!