/****************by garcon1986***************/
正则表达式主要的作用:分割,匹配,查找,替换
preg_match正则函数,以perl为基础
preg_match(mode,string subject, array matches)
ereg正则函数,以posix基础(Unix, Script)
ereg(mode, strig subject, array regs)
ereg在PHP6要被废除了,preg_match通常比ereg更快
正则表达式的元素:
1.原子(普通字符:a-z A-Z 0-9,原子表,转义字符)
2.元字符(有特殊功能的字符)
3.模式修正符(系统内置部分字符i,m,S,U)
原子:
1)
a-z A-Z _ 0-9 //最常见的字符
2) (abc)(sdf) //用圆括号包含起来的单元符号
3) [abcs][^abd] //用方括号包含的原子表,原子表中的^代表排除或相反内容
4)
转义字符
/d 包含所有数字[0-9]
/D 除所有数字外[^0-9]
/w 包含所有英文字符[a-zA-Z]
/W 除所有英文字符外[^a-zA-Z]
/s包含空白区域如回车,换行,分页等[/f/n/r]
...
运算顺序:
优先级:
() 圆括号,因为是内存处理,所以最高
* ? + {} 重复匹配内容
^ $ /b 边界处理
| 条件处理
模式修正符:
正则表达式增强和补充的一个功能,使用在正则之外
如:
/正则/U
i 正则内容在匹配时候不区分大小写(默认区分)
m 在匹配手内容或尾内容时采用多行识别匹配
S 将转义回车取消
x 忽略正则中的空白
A 强制从头开始匹配
D 强制$匹配尾部无任何内容/n
U 禁止贪婪匹配,只跟踪到最近的一个匹配符并结束,常用在采集程序上的正则表达式
匹配功能:
preg_match_all 全部匹配函数
preg_match_all(string pattern, string subject, array matches [,int flags])
替换功能:
preg_replace正则替换函数
preg_replace(mixed pattern, mixed replacement, mixed subject[,int limit])
通过正则表达式来替换相关内容,类似之前学过的
str_replace字符串替换,但功能要强于它。
提示:
1. 替换内容可以使一个正则也可以使数组正则
2. 替换内容可以通过修正符e来解决替换执行内容
分割功能:
preg_split正则分割
preg_split(string pattern, string subject[, int limit [, int flags]] )
类似功能explode()函数,explode只能按一种方式切割,有局限性