PHP中正则表达式学习及应用(一)
1、正则表达式的介绍和作用
什么是正则表达式
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串 的需要。正则表达式就是用于描述这些规则的语法。
例:在判断用户邮件地址格式、手机号码格式或者采集别人网页内容时
主要的作用是:分割、匹配、查找、替换
注:正则表达式对于一个程序员来讲是至关重要的一个知识点,所以学好正则 是每一个程序员必须具备的。不仅可以帮助我们完成一些通过函数无法实现 的工作,还可以帮助我们减轻很多工作量。
2、PHP中两个常用的正则函数
preg_match 正则函数,以perl语言为基础
preg_match ( mode, string subject , array matches ) //mode是正则表达规则、subject是待匹配的字符串、matches存储匹配出的字符
例如:
<?php $mode="/(abc)/"; $str="abcsdsdsdwdaabc"; preg_match_all($mode, $str, $arr); print_r($arr); ?> 输出: Array ( [0] => Array ( [0] => s [1] => d [2] => s [3] => d [4] => s [5] => d [6] => w [7] => d ) )
ereg 正则函数,以POSIX基础 (Unix 、 Script)
ereg ( mode, string subject , array regs ) //此方法与preg_match_all()一样
3、正则表达式中包括的元素
(1)、原子(普通字符:a-z A-Z 0-9 、原子表、 转义字符)
(2)、元字符 (有特殊功能的字符)
(3)、模式修正符 (系统内置部分字符 i 、m、S、U…)
4、正则表达式中的“原子”
①a-z A-Z _ 0-9 //最常见的字符
②(abc) (skd) //用圆括号包含起来的单元符合
③[abcs] [^abd] //用方括号包含的原子表,原子表中的^代表排除或相反内容
④转义字符
\d 包含所有数字[0-9] //匹配出所有的数字
\D 除所有数字外[^0-9] //匹配出所有非数字的字符
\w 包含所有英文字符[a-zA-Z_0-9] //匹配出所有字母和数字
\W 除所有英文字符外[^a-zA-Z_0-9] //匹配出所有除了字母和数字之外的字符、例如@、#、$、%.....
\s 包含空白区域如回车、换行、分页等 [\f\n\r] …… //匹配除上述之外的字符....
PHP中正则表达式学习及应用(一)
本节内容的视频教程:链接: http://pan.baidu.com/s/1pJqsu0b 密码: gdnw