php正则表达式随笔

来源:互联网 发布:北京汉克软件 编辑:程序博客网 时间:2024/05/22 04:58

本文章仅为督促本人学习
行定位符:
^tm匹配开头为tm的字符串
tm&匹配结尾为tm的字符串
字符类[]
一个[]只能匹配一个字符
[Tt][Mm]匹配不区分大小写的tm
POSIX风格的预定义字符类
[[:digit:]] [0-9]
[[:alnum:]] [a-zA-Z0-9]
[[:alpha:]] [a-zA-Z]
[[:blank:]] 空格和制表符
[[:xdigit:]] 16进制数字
[[:punct:]] 特殊字符合集
[[:print:]] 所有可打印的字符(包括空白字符)
[[:graph:]] 所有可打印的字符(不包括空白字符)
[[:space:]] 空白字符(空格,换行符,换页符,回车符,水平制表符)
[[:upper:]] [A-Z]
[[:lower:]] [a-z]
选择字符|
T|tM|m等价于TM|tm|Tm|tM
|和[]的区别在于|可以匹配任意长度的字符串
排除字符[^]
[^a-z] 表示与不包含小写字母的字符匹配
注意区别^[a-z] 匹配以小写字母开头的文本串
限定符(?*+{n,m})
? 匹配前面的单个字符0或1次 goo?gle匹配gogle或google
+ 匹配前面的单个字符1次或多次 goo+gle匹配gooogle或gooo..gle
* 匹配前面的单个字符0或多次 goo*gle匹配gogle或goooo..gle
{n} 匹配前面的单个字符n次 goo{2}gle匹配goooogle
{n,} 匹配前面的单个字符至少n次 goo{2,}gle匹配gooooo…gle
{n,m}匹配前面的单个字符n至m次 goo{1,3}匹配gooogle或goooogle或gooooogle

“.”可以匹配任意字符,匹配.时要转义 .

模式修饰符i
i表示忽略大小写模式,有三种使用方法:
/tm/i,(?i)tm(?-i),(?i:tm)

ereg()和eregi()
bool ereg/eregi(string pattern,string string [,array regs])
在字符串string中匹配表达式pattern,成功返回true,如果有参数regs,则成功的匹配的字串存储到regs中
ereg()和eregi()的区别是eregi不区分大小写

ereg_replace()和eregi_replace()
string ereg_replace/eregi_replace(string pattern,string replacement,string string)
在string中匹配pattern,匹配到的替换为replacement并返回string

split()和spliti()
array split/spliti(string pattern,string string [,int limit])
用pattern分割string,limit表示分割元素数目的最大值,注意空格也被当做一个字符。

preg_grep()
array preg_grep(string pattern,array input)
返回匹配元素的数组

原创粉丝点击