php正则表达式(基本概念整合)

来源:互联网 发布:樱井知香番号封面 编辑:程序博客网 时间:2024/05/21 07:05
一、正则表达式函数库


1.什么是正则表达式?


正则表达式(Regular Expression),是关于字符串的模式;


2.正则表达式有什么用?


使用正则表达式检索、替换符合某个模式的字符;


3.正则表达式


3.1)语法


/正则表达式/[修正符]


说明:


A.斜线(/)称为正则表达式的定界符;


B.定界符可以使用除字母、数字、反斜线及空白字符外的任意字符; 
 
 
3.2)正则表达式


3.2.1)元字符


\d,匹配任意的数字,等价于[0-9]


\D,匹配任意的非数字,等价于[^0-9]


\s,匹配任意的空白字符,等价于[\n\r\v\t\f]


\S,匹配任意的非空白字符,等价于[^\n\r\v\t\f]


\w,匹配任意的单词字符,等价于[0-9a-zA-Z_]


\W,匹配任意的单词字符,等价于[^0-9a-zA-Z_]


.,匹配除换行的任意字符;


|,或者


[],表示区间,如[0-3]表示0~3之间的字符串


[^],表示非区间,如[^0-3]表示不是0~3之间的字符串


^,表示以指定的字符开头


$,表示以指定的字符结尾


3.2.2)转义符


\n


\r


\t


\v


\\


\.


\|


\-


\{


\}


\(


\)


\[


\]


\?


\*


\+


3.2.3)量词


?,出现零次或一次,等价于{0,1}


*,至少出现零次,等价于{0,}


+,至少出现一次,等价于{1,}


{m},只能出现m次


{m,},至少出现m次


{m,n},至少出现m次,至多n次
 
 
3.3)修正符


i(ignore),忽略大小写


3.4)捕获组
 
捕获组就用小括号将内容括起来;


3.5)非捕获组


(?:)


3.6)反向引用


反向引用是指在正则表达式的后半部分或preg_replace或preg_replace_callback函数


的$replacement参数中引用已经用捕获组捕获的数组;


3.7)贪婪与非贪婪模式


正则表达式在遇到+、*、{m,}及{m,n}时默认情形下将采用贪婪模式


(将获取最多的字符,以组成"合法"的字符串),在量词使用?表示非贪婪模式;


5.正则表达式的函数库


preg_replace


描述:使用正则表达式进行替换


语法:mixed preg_replace(string pattern,string replacement,string $string)


preg_replace_callback


描述:执行正则表达式搜索并且使用回调进行替换


语法:mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject)


preg_match


描述:执行一次正则表达式匹配


语法:int preg_match(string $pattern , string $subject [, array &$matches])


preg_match_all


描述:执行全局匹配


语法:int preg_match_all(string $pattern , string $subject [, array &$matches])


preg_split


描述:执行正则表达式拆分


语法:array preg_split ( string $pattern , string $subject)























原创粉丝点击