首页 > 代码库 > 正则表达式

正则表达式

一、与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

正则表达式