一、正则表达式函数库
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)
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)