- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP正则表达式整理
PHP 正则表达式
思维导图
?
?点击下图,可以看具体内容!
?
?
介绍
?
?????? 正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net,php等等,我今天就把我对正则表达式的理解跟大家唠唠,不当之处,请多多指教!
?
需要知道的术语——下面的术语你知道多少?
?
Δ? 定界符
Δ? 字符域
Δ? 修饰符
Δ? 限定符
Δ? 脱字符
Δ? 通配符(正向预查,反向预查)
Δ? 反向引用
Δ? 惰性匹配
Δ? 注释
Δ? 零字符宽
?
定位
?
?????? 我们什么时候使用正则表达式呢?不是所有的字符操作都用正则就好了,php在某些方面用正则反而影响效率。当我们遇到复杂文本数据的解析时候,用正则是比较好的选择。
?
优点
?
????? 正则表达式在处理复杂字符操作的时候,可以提高工作效率,也在一定程度节省你的代码量。
?
缺点
?
?????? 我们在使用正则表达式的时候,复杂的正则表达式会加大代码的复杂度,让人很难理解。所以我们有的时候需要在正则表达式内部添加注释。
?
通用模式
?
?¤ 定界符,通常使用 /做为定界符开始和结束,也可以使用#。
什么时候使用#呢?一般是在你的字符串中有很多/字符的时候,因为正则的时候这种字符需要转义,比如uri。
???? 使用/定界符的代码如下.
$regex = /^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i;
$str = /show_page/id_ABCDEFG.html;
$matches = array();
if(preg_match($regex, $str, $matches)){
var_dump($matches);
}
echo \n;
??? preg_match中的$matches[0]将包含与整个模式匹配的字符串。?
??? 使用#定界符的代码如下.这个时候对/就不转义!
$regex = #^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i;
$str = /show_page/id_ABCDEFG.html;
$matches = array();
if(preg_match($regex, $str, $matches)){
var_dump($matches);
}
echo \n;
??¤ 修饰符:用于改变正则表达式的行为。
???? 我们看到的(/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html/i)中的最后一个i就是修饰符,表示忽略大小写,还有一个我们经常用到的是x表示忽略空格。
贡献代码:
??
$regex = /HELLO/;
$str = hello word;
$matches = array();
if(preg_match($regex, $str, $matches)){
echo No i:Valid Successful!,\n;
}
if(preg_match($regex.i, $str, $matches)){
echo YES i:Valid Successful!,\n;
}
?
? ¤ 字符域:[\w]用方括号扩起来的部分就是字符域。
? ¤ 限定符:如[\w]{3,5}或者[\w]*或者[\w]+这些[\w]后面的符号都表示限定符。现介绍具体意义。
???? {3,5}表示3到5个字符。{3,}超过3个字符,{,5}最多5个,{3}三个字符。
???? * 表示0到多个
???? + 表示1到多个。
? ¤ 脱字符号
????? ^:
????????? 放在字符域(如:[^\w])中表示否定(不包括的意思)——“反向选择”
????????? ? 放在表达式之前,表示以当前这个字符开始。(/^n/i,表示以n开头)。
????? 注意,我们经常管\叫跳脱字符。用于转义一些特殊符号,如.,/
?
通配符(lookarounds):断言某些字符串中某些字符的存在与否!
?
lookarounds分两种:lookaheads(正向预查 ?=)和lookbehinds(反向预查?=)。
格式:
正向预查:(?=) 相对应的 (?!)表示否定意思
反向预查:(?=) 相对应的 (?!)表示否定意思
前后紧跟字符
$regex = /(?=c)d(?=e)/; /* d 前面紧跟c, d 后面紧跟e*/
$str = abcdefgk;
$matches = array();
if(preg_match($regex, $str, $matches)){
var_dump($m
您可能关注的文档
最近下载
- 2025年国家电网专业技术人员考试(计算机水平)历年参考题库含答案详解(5卷).docx VIP
- I公章制作及常用的公章规格.docx VIP
- 2025年秋招:农村商业银行题目及答案.doc VIP
- 《大学生职业生涯规划与就业指导(慕课版)》全套教学课件.pptx
- 叶黄素艾草护眼贴产品技术要求标准2023年.pdf VIP
- 第一二三单元 古诗文积累默写专项练 2023-2024学年统编版语文七年级上册.docx VIP
- 老年人心理照护:老年人死亡认知教育PPT教学课件.pptx VIP
- 《氟化氢气体检测报警器校准规范》编制说明.DOC VIP
- 工程竣工测量技术方案(3篇).docx VIP
- 2025年入团考试练习试题(100题)含答案.pdf VIP
原创力文档


文档评论(0)