正则表达式总结

来源:互联网 发布:农村淘宝电子商务ppt 编辑:程序博客网 时间:2024/05/02 01:24

/****************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只能按一种方式切割,有局限性

原创粉丝点击