基础知识
Posted zhouwanqiu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础知识相关的知识,希望对你有一定的参考价值。
一、什么是正则表达式?
正则表达式是用于描述字符排列和匹配模式的一种语法规则,主要用于字符串的模式分割、匹配、查找及替换操作
二、为什么使用正则表达式?
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.非打印字符:"/ /" "/f/" "/ /" "/ /" "/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 匹配输入字符串的开始字符,必须以其后的原子开头
$ 或 匹配输入字符串的结束字符,必须以其前的原子结尾
匹配单词开头或结尾的所含字母,该单词必须包含该字母(放开头则匹配开头,放结尾则匹配结尾)
B 匹配单词开头或结尾不可含的字母,且该单词还必须包含该字母(B放开头则匹配开头,放结尾则匹配结尾)
[ ] 匹配方括号中的任一原子,方括号中的特殊字符可自动转义为无特殊意义的原字符,无需用“”转义
[^] 匹配方括号中原子以外的任一字符
( ) 将括号中的多个原子组成为一个整体原子(模式单元)
.* 贪婪模式,会重复匹配原子值
.*? 取消贪婪模式,只匹配首次匹配到的原子值
以上是关于基础知识的主要内容,如果未能解决你的问题,请参考以下文章