2.元字符
經過使用Perl正則表達式還能夠實現其餘功能,如使用各類元字符來搜索匹配。元字符
就是前面有反斜線的字母字符,表示某種特殊含義。
表5-6中是經常使用的元字符。
字符
描述
\A 只匹配字符串開頭
\b 匹配單詞邊界
\B 匹配除單詞邊界以外的任意字符
\d 匹配數字字符,它與[1-9]相同
\D 匹配非數字字符
\s 匹配空白字符
\S 匹配非空白字符
[] 包圍一個字符類
() 包圍一個字符分組或定義一個反引用
$ 匹配行尾
^ 匹配行首
. 匹配除換行以外的任何字符
\ 引出下一個元字符
\w 匹配任何只包含下劃線和字母數字字符的字符串
\W 匹配沒有下劃線和字母數字字符的字符串
每一個元字符只能匹配一個字符,若是要匹配多個,能夠使用POSIX正則表達式中的特殊字符。
POSIX正則表達式還能夠用來匹配多個數字字符。表5-6中的經常使用元字符都比較好理解,下面經過一行代碼來說解如何使用Perl正則表達式:
^[a-zA-Z]([a-zA-Z0-9]*[-_.]?[a-zA-Z0-9]+)+@([\w-]+\.)+[a-zA-Z]{2,}$
上述代碼是一個用來驗證郵箱的正則表達式,郵箱名必須是字母和數字組合而成,接下來
是一個
@符號 ,緊接着是匹配任何甚至包含下劃線和任意字母、數字字符的字符串,後面是字 母字符。 3.定界符定界符的主要做用是用來限定正則匹配表達式的左右界限符號,左右要求徹底一致,表達 式應被包含在定界符中,經常使用的符號有「/」和「@」等,任何不是字母、數字或反斜線「\」 的字符均可以做爲定界符。若是做爲定界符的字符,那麼就要使用反斜線來轉換。 $pattern = "/D:\/\/ch1\/phpFile/"; $subject = "D://ch1/phpFile"; echo preg_match($pattern, $subject); $pattern = "#D://ch1/phpFile#"; $subject = "D://ch1/phpFile"; echo preg_match($pattern, $subject);