php中正则表达式语法
编辑:admin 时间:2010-12-22 14:25:11 来自:北京蓝网网络技术有限公司
语法描述
+ 匹配任何至少包含一个前导字符串
* 匹配任何包含零个或多个前导字符串
? 匹配任何包含零个或一个前导字符串
. 匹配任意字符串
{x} 匹配任何包含x 个前导字符串
{x,y} 匹配任何包含x 到y 个前导字符串
{x,} 匹配任何包含至少x 个前导字符串
$ 匹配字符串的行尾
^ 匹配字符串的行首
| 匹配字符串的左边或者右边
() 包围一个字符分组或定义个反引用,可以使用\1\2 提取
元字符
[a-z] 匹配任何包含小写字母a-z 的字符串
[A-Z] 匹配任何包含大写字母A-Z 的字符串
[0-9] 匹配任何包含数字0-9 的字符串
[abc] 匹配任何包含小写字母a、b、c 的字符串
[^abc] 匹配任何不包含小写字母a、b、c 的字符串
[a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9 和下划线的字符串
\w 匹配任何包含a-zA-Z0-9 和下划线的字符串(同上)
\W 匹配任何没有下划线和字母数字的字符串
\d 匹配任何数字字符,和[0-9]相同
\D 匹配任何非数字字符,和[^0-9]相同
\s 匹配任何空白字符
\S 匹配任何非空白字符
\b 匹配是否到达了单词边界
\B 匹配是否没有达到单词边界
\ 匹配正则中的特殊字符
修饰符
语法描述
i 完成不区分大小写的搜索
m 在匹配首内容或者尾内容时候采用多行识别匹配
x 忽略正则中的空白
A 强制从头开始匹配
U 禁止贪婪匹配只跟踪到最近的一个匹配符并结束
PHP 为使用Perl 兼容的正则表达式搜索字符串提供了7 个函数,包括:preg_grep()、
preg_match()、preg_match_all()、preg_auote()、preg_replace()、preg_replace_callback()和
preg_split()。
搜索字符串:preg_grep()函数搜索数组中的所有元素,返回由与某个模式匹配的所有元
素组成的数组。
<?php
$language = array('php','asp','jsp','python','ruby');
print_r(preg_grep('/p$/',$language));
?>
搜索模式:preg_match()函数在字符串中搜索模式,如果存在则返回true,否则返回false。
<?php
echo preg_match('/php[1-6]/','php5');
?>
匹配模式的所有出现:preg_match_all()函数在字符串中匹配模式的所有出现,然后将所
有匹配到的全部放入数组。
<?php
preg_match_all('/php[1-6]/','php5sdfphp4sdflljkphp3sdlfjphp2',$out);
print_r($out);
?>
定界特殊的正则表达式:preg_quote()在每个对于正则表达式语法而言有特殊含义的字
符前插入一个反斜线。这些特殊字符包含:$ ^ * () + = {} [] | \\ : <>。
<?php
echo preg_quote('PHP的价格是:$150');
?>
替换模式的所有出现:preg_replace()函数搜索到所有匹配,然后替换成想要的字符串返
回出来。
<?php
echo preg_replace('/php[1-6]/','python','This is a php5,This is a php4');
?>
原创文章如转载请注明:转载自『