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);