正则表达式

来源:互联网 发布:化学反应矩阵软件 编辑:程序博客网 时间:2024/05/17 04:59

修正模式: http://www.phpx.com/man/zh/pcre.pattern.modifiers.html

模式语法: http://www.phpx.com/man/zh/pcre.pattern.syntax.html

正则表达式的特殊字符包括    . // + * ? [ ^ ] $ ( ) { } = ! < > | :

/      有数种用途的通用转义符
^     断言目标的开头(或在多行模式下行的开头,即紧随一换行符之后)
$     断言目标的结尾(或在多行模式下行的结尾,即紧随一换行符之前)
.     匹配除了换行符外的任意一个字符(默认情况下)
[     字符类定义开始
]     字符类定义结束
|     开始一个多选一的分支
(     子模式开始
)     子模式结束
?     扩展 ( 的含义,也是 0 或 1 数量限定符,以及数量限定符最小值
*     匹配 0 个或多个的数量限定符
+    匹配 1 个或多个的数量限定符
{     最少/最多数量限定开始
}    最少/最多数量限定结束

模式中方括号内的部分称为“字符类”。字符类中可用的元字符为:

/    通用转义字符
^    排除字符类,但仅当其为第一个字符时有效
-    指出字符范围
]    结束字符类
一些特殊的字符:
/a       alarm,即 BEL 字符(0x07)
/cx     "control-x",其中 x 是任意字符
/e        escape(0x1B)
/f        换页符 formfeed(0x0C)
/n       换行符 newline(0x0A)
/r        回车符 carriage return(0x0D)
/t        制表符 tab(0x09)
/xhh   十六进制代码为 hh 的字符
/ddd    八进制代码为 ddd 的字符,或 backreference
/040    另一种表示空格的方法
011     总是表示制表符 tab
/d        任一十进制数字
/D      任一非十进制数的字符
/s      任一空白字符
/S     任一非空白字符
/w    任一“字”的字符
/W    任一“非字”的字符

 正则表达式中的逆向引用方式://1 或 /${1}
$string = "April 15, 2003";
$pattern = "/(/w+) (/d+), (/d+)/i";
$replacement = "/${1}1,/$3";
print
preg_replace($pattern, $replacement, $string);

/* Output
   ======

April1,2003

 */
?>
原创粉丝点击