首页 > 代码库 > 正则表达式
正则表达式
一、与Perl语言兼容的正则表达式处理函数
函数名 | 功能描述 |
preg_match() | 进行正则表达式匹配 |
preg_match_all() | 进行全局正则表达式匹配 |
preg_replace() | 进行正则表达式的搜索和替换 |
preg_split() | 用正则表达式分割字符串 |
preg_grep() | 返回与模式匹配的数组单元 |
preg_replace_callback() | 用回调函数执行正则表达式的搜索和替换 |
二、正则表达式的语法规则
正则表达式描述了一种字符串匹配的模式,通过这个模式在特定的函数中对字符串进行匹配、查找、替换及分割等操作。正则表达式作为一个匹配的模板,是由原子(普通字符,例如字符a到z)、有特殊功能的字符(称为元字符,例如*、+和?等),以及模式修正符三部分组成的文字模式。一个表单密码的正则表达式模式如下所示:
$zzpassword=‘/[a-z,A-Z,0-9,\m]{6,12}/‘;
1、定界符
在程序语言中,使用与Perl兼容的正则表达式,通常都需要将模式表达式放入定界符之间。作为定界的字符也不仅仅局限于使用斜线“/”。除了字母、数字和反斜线“\”以外的任何字符都可以作为定界符号,例如# ! {} |等都是可以的。通常习惯将模式表达式包含在两个斜线/之间。
2、原子
原子是正则表达式的最基本的组成单位,而且在每个模式中最少要包含一个原子。
(1)普通字符作为原子
普通字符是编写正则表达式时最常见的原子了,包括所有的大写和小写字母字符、所有数字等。例如a-z、A-Z、0-9.
(2)一些特殊字符和元字符作为原子
任何一个符号都可以作为原子使用,但如果这个符号在正则表达式中有一些特殊意义,我们就必须使用转义字符“\”取消它的特殊意义,将其变成一个普通的原子。例如,所有的标点符号以及一些其他的符号,双引号、单引号、* + .等,如果当原子,就必须像这样\" \‘ \* \+ \.这样使用。
(3)一些非打印字符作为原子
所谓的非打印字符,是一些在字符串中的格式控制符号,例如空格、回车及制表符号等。
正则表达式中常用的非打印字符
原子字符 | 含义描述 |
\cx | 匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一,否则,将c视为一个原义的c字符 |
\f | 匹配一个换页符。等价于\xOc和\cL |
\n | 匹配一个换行符。等价于\xOa和\cJ |
\r | 匹配一个回车符。等价于\xOd和\cM |
\t | 匹配一个制表符。等价于\xO9和\cI |
\v | 匹配一个垂直制表符。等价于\xOb和\cK |
‘/\n/‘ //在Windows系统中用于匹配字符串中是否有回车换行出现
‘/\r\n/‘ //在Linux系统中用于匹配字符串中是否有回车换行出现
3、元字符
利用Perl正则表达式还可以做另一件有用的事,就是使用各种元字符来搜索匹配。所谓元字符就是构建正则表达式的具有特殊含义的字符,如* + ?等。在一个正则表达式中,元字符不能单独出现,它必须是用来修饰原子的。如果要在正则表达式中包含元字符本身,使其失去特殊的含义,则必须在其前面加上\进行转义。
正则表达式的元字符
本文出自 “12145704” 博客,请务必保留此出处http://12155704.blog.51cto.com/12145704/1870571
正则表达式