杭州PHP培训
达内杭州PHP培训中心

0571-56020837

热门课程

PHP正则表达式总结

  • 时间:2016-03-22
  • 发布:杭州PHP培训
  • 来源:PHP1



    杭州达内PHP培训专家总结一下PHP正则表达式的知识。

    开头的 ^ 和结尾的 $ 让PHP从字符串开头检查到结尾。假使没有 $,程序仍会匹配到 Email 的末尾。

    [ 和 ] 被用来限制许可输入类型。例如 a-z 允许所有的小写字母,A-Z 允许所有的大写字母,0-9 所有数字,等等,以及更多其他类型。

    { 和 } 被用来限制期望的字符数。例如 {2,4} 表示字符串的每一节可以有 2-4 字符长度,像是 .com.cn 或 .info。在这里, "." 并不算一个字符,因为 {2,4} 之前定义的许可输入类型只有大小写字母,故此段只匹配大小写字母

    ( 和 ) 被用来合并小节,并定义字符串中必须存在的字符。(a|b|c) 能够匹配 a 或 b 或 c。

    (.) 将匹配所有字符,而 [.] 只匹配 "." 本身。

    要使用一些符号本身,必须在前增加一个\。这些字符有:( ) [ ] . * ? + ^ | $

附:PCRE 语法指南

/ 定界符
^ 字符串头
$ 字符串尾
[a-z] 所有小写字母
[A-Z] 所有大写字母
[0-9] 所有数字
? 零或一个紧接前的字符
* 零或多个紧接前的字符
+ 一或多个紧接前的字符
{4} 4个紧接前的字符
{4,8} 4-8个紧接前的字符
. 任意字符
(red|green|blue) Red 或 green 或 blue(红 或 绿 或 蓝)
s 空格
特殊字符(需要在前加\)
( ) [ ] . * ? + ^ | $


规则匹配 preg_match

    利用 preg_match(),我们可以完成字符串的规则匹配。如果找到一个匹配,preg_match() 函数返回 1,否则返回 0。还有一个可选的第三参数可以让你把匹配的部分存在一个数组中。在验证数据时这个功能可以变得非常有用。

$string = "football";
if (preg_match('/foo/', $string)) {
// 匹配正确
}

规则替换 preg_replace

    preg_replace 允许你替换字符串中匹配到你定义的正则表达式。

$val = "/*123456789*/abcd";
$pp = preg_replace("/[(\/\*)+(.)(\*\/)+]+/",'fuck',$val);
print_r($pp);

    结果是

fuck123456789fuckabcd

规则分割preg_split

    preg_split 可以将整段字符串按匹配到的正则表达式分割成 1、2或更多字符的多段。比如获取标签,无论是用空格还是逗号分隔的:

$tags = preg_split('/[,]/', 'my,tags,unevenly,spaced');
print_r($tags);
结果是:
Array ( [0] => my [1] => tags [2] => unevenly [3] => spaced )  





原文链接:http://www.php1.cn/Content/PHP_ZhengZeBiaoDaShiGeRenBiJiZongJie.html
上一篇:PHP防止一个函数执行时间过长
下一篇:PHP中如何使用CURL实现GET和POST请求

795万高校毕业生创历史新高,2017届毕业生就业近况几何?

内副总裁齐一楠接受新浪专访,解读2016达内耀升级

达内教育总裁韩少云受邀出席GIE国际教育峰会做主题演讲

响应全球编程一小时 达内微软推出“发现杯”中国青少年编程挑战活动

选择城市和中心
贵州省

广西省

海南省