标签:php正则 正则表达 必须 gre 分割 数组 空白 结束 替换
一、什么是正则表达式?
正则表达式是用于描述字符排列和匹配模式的一种语法规则,主要用于字符串的模式分割、匹配、查找及替换操作
二、为什么使用正则表达式?
PHP有一套非常丰富的字符串处理函数,但是这些函数还远远不够,满足不了对字符串处理的要求,这时需要使用正则表达式对字符串进行分割、匹配、查找、替换
三、什么时候使用正则表达式?
①表单的验证
②伪静态(URL重写)
③文章内容的采集
四、如何使用正则表达式?
1、PHP正则表达式的函数库:PCRE(推荐,兼容Perl,大多数语言都使用这套库)、POSIX
PCRE库:
preg_match() 进行正则表达式匹配
preg_match_all() 进行全局正则表达式匹配
preg_replace() 执行正则表达式的搜索和替换
preg_split() 用正则表达式分割字符串
preg_grep() 返回与模式匹配的数组单元
preg_replace_callback 用回调函数执行正则表达式的搜索和替换
2、正则表达式的语法规则的组成部分
①定界符
除了数字、字母和反斜线“\”之外的特殊字符均可作为定界符,一般使用斜线“/”
②原子
1.普通字符:"/a~z/" "/A~Z/" "/0~9/"
2.特殊字符:"/\"/" "/\‘/" "/\*/" "/\+/" "/\?/" "/\./"
3.非打印字符:"/\n/" "/\f/" "/\r/" "/\t/" "/\v/" "/\cx/"
4.通用字符:
"/\d/" 匹配任意的一个数字
"/\D/" 匹配除数字之外的任意字符
"/\w/" 匹配数字、大小写字母、下划线
"/\W/" 匹配除了数字、字母、下划线的字符
"/\s/" 匹配空白符(非打印字符、空格)
"/\S/" 匹配除空白符之外的任意字符
5.匹配中文:"/[\u4e00-\u9fa5]/"
③元字符
* 匹配0次、1次或多次其前的原子
+ 匹配1次或多次其前的原子
? 匹配0次或1次其前的原子
. 匹配除换行符之外的任意一个字符
| 或
{n} 其前的原子出现恰好等于n次
{n,} 其前的原子出现≥n次
{n,m} 其前的原子出现次数≥n,≤m
^ 或 \A 匹配输入字符串的开始字符,必须以其后的原子开头
$ 或 \Z 匹配输入字符串的结束字符,必须以其前的原子结尾
\b 匹配单词开头或结尾的所含字母,该单词必须包含该字母(\b放开头则匹配开头,放结尾则匹配结尾)
\B 匹配单词开头或结尾不可含的字母,且该单词还必须包含该字母(\B放开头则匹配开头,放结尾则匹配结尾)
[ ] 匹配方括号中的任一原子,方括号中的特殊字符可自动转义为无特殊意义的原字符,无需用“\”转义
[^] 匹配方括号中原子以外的任一字符
( ) 将括号中的多个原子组成为一个整体原子(模式单元)
.* 贪婪模式,会重复匹配原子值
.*? 取消贪婪模式,只匹配首次匹配到的原子值
标签:php正则 正则表达 必须 gre 分割 数组 空白 结束 替换
原文地址:https://www.cnblogs.com/zhouwanqiu/p/9342875.html