我一直在學習PHP一段時間,我想澄清一下。初級PHP幫助需要
我所見過的preg_match
函數調用不同的分界符號,如:
preg_match('/.../')
和
preg_match('#...#')
今天我也看到%
被使用。
我的問題是兩個部分:
有什麼可以使用的所有字符?
有沒有標準?
我一直在學習PHP一段時間,我想澄清一下。初級PHP幫助需要
我所見過的preg_match
函數調用不同的分界符號,如:
preg_match('/.../')
和
preg_match('#...#')
今天我也看到%
被使用。
我的問題是兩個部分:
有什麼可以使用的所有字符?
有沒有標準?
不限
可以用作分隔符。
此外,如果你使用開幕標點符號的開始分隔符:
({ [ <
那麼其對應的關閉標點符號必須作爲結束分隔符:
) } ] >
最常見分隔符是/
。
但是有時如果/
是正則表達式的一部分,建議使用不同的分隔符。
例子:
// check if a string is number/number format:
if(preg_match(/^\d+\/\d+$/)) {
// match
}
由於正則表達式中包含的分隔符,你必須逃脫在正則表達式中的分隔符。
爲了避免逃逸,最好是選擇不同的分隔符,一個是不存在的正則表達式,這樣,你的正則表達式將是更短和更清潔的:
if(preg_match(#^\d+/\d+$#))
只需添加:如果您未使用開啓/關閉標點符號,則表達式中的第一個字符必須與最後一個字符相同,否則會出現錯誤。 – 2010-12-04 07:00:43
這只是一個品味的問題。 – 2010-12-04 07:52:12