正規表示式字元括號中的連字號
定義正規表示式字元括號時,包含連字號(-) 可能會很困難。這是因為連字符在正規表示式中用作範圍運算符,指示要匹配的字元範圍。若要在字元括號中包含文字連字符,必須使用反斜線 () 將其轉義。
在您的情況下,正規表示式:
/^[a-zA-Z0-9.-_]+$/
正在嘗試匹配僅包含字母、數字、句點 (.) 和連字符 (-)。但是,由於連字符放置在字元括號中,它被視為範圍運算符,導致匹配“a”和“-”之間的一系列字元。
要修正此問題,您可以使用反斜線轉義連字符,如以下修改後的正規表示式所示:
/^[a-zA-Z0-9.\-_-]+$/
這將確保連字符被視為文字字符,而不是作為範圍運算符。或者,您可以將連字符放在字元括號的開頭或結尾,如下所示:
/^[.-a-zA-Z0-9_]+$/
透過修改連字符的位置,您可以成功將其包含在字元括號中,並確保它在您的驗證表達式中按字面匹配。
以上是如何在正規表示式字元括號中正確轉義或定位連字符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!