- 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正则表达式三
3正则表达式的基本语法:
一个正则表达式,分为三个部分:分隔符,表达式和修饰符。
分隔符可以是除了特殊字符以外的任何字符(比如/!等等),常用的分隔符是/。表达式由一些特殊字符(特殊字符详见下面)和非特殊的字符串组成,比如[a-z0-9_-]+@[a-z0-9_-.]+可以匹配一个简单的电子邮件字符串。修饰符是用来开启或者关闭某种功能/模式。下面就是一个完整的正则表达式的例子:
/hello.+?hello/is
上面的正则表达式/就是分隔符,两个/之间的就是表达式,第二个/后面的字符串is就是修饰符。
在表达式中如果含有分隔符,那么就需要使用转义符号\,比如/hello.+?\/hello/is。转义符号除了用于分隔符外还可以执行特殊字符,全部由字母构成的特殊字符都需要\来转义,比如\d代表全体数字。
4正则表达式的特殊字符:
正则表达式中的特殊字符分为元字符、定位字符等等。
元字符是正则表达式中一类有特殊意义的字符,用来描述其前导字符(即元字符前面的字符)在被匹配的对象中出现的方式。元字符本身是一个个单一的字符,但是不同或者相同的元字符组合起来可以构成大的元字符。
元字符:
大括号:大括号用来精确指定匹配元字符出现的次数,例如/pre{1,5}/表示匹配的对象可以是pre、pree、preeeee这样在pr后面出现1个到5个e的字符串。或者/pre{,5}/代表pre出现0此到5次之间。
加号:+字符用来匹配元字符前的字符出现一次或者多次。例如/ac+/表示被匹配的对象可以是act、account、acccc等在a后面出现一个或者多个c的字符串。+相当于{1,}。
星号:*字符用来匹配元字符前的字符出现零次或者多次。例如/ac*/表示被匹配的对象可以是app、acp、accp等在a后面出现零个或者多个c的字符串。*相当于{0,}。
问号:?字符用来匹配元字符前的字符出现零次或者1次。例如/ac?/表示匹配的对象可以是a、acp、acwp这样在a后面出现零个或者1个c的字符串。?在正则表达式中还有一个非常重要的作用,即贪婪模式。
还有两个很重要的特殊字符就是[]。他们可以匹配之中出现过的字符,比如/[az]/可以匹配单个字符a或者z;如果把上面的表达式改成这样/[a-z]/,就可以匹配任何单个小写字母,比如a、b等等。
如果在中出现了^,代表本表达式不匹配内出现的字符,比如/[^a-z]/不匹配任何小写字母!并且正则表达式给出了几种的默认值:
[:alpha:]:匹配任何字母
[:alnum:]:匹配任何字母和数字
[:digit:]:匹配任何数字
[:space:]:匹配空格符
[:upper:]:匹配任何大写字母
[:lower:]:匹配任何小写字母
[:punct:]:匹配任何标点符号
[:xdigit:]:匹配任何16进制数字
另外下面这些特殊字符在转义符号\转义后代表的含义如下:
s:匹配单个的空格符
S:用于匹配除单个空格符之外的所有字符。
d:用于匹配从0到9的数字,相当于/[0-9]/。
w:用于匹配字母,数字或下划线字符,相当于/[a-zA-Z0-9_]/。
W:用于匹配所有与w不匹配的字符,相当于/[^a-zA-Z0-9_]/。
D:用于匹配任何非10进制的数字字符。
.:用于匹配除换行符之外的所有字符,如果经过修饰符s的修饰,.可以代表任意字符。
利用上面的特殊字符可以很方便的表达一些比较繁琐的模式匹配。例如/\d0000/利用上面的正则表达式可以匹配万以上,十万一下的整数字符串。
定位字符:
定位字符是正则表达式中又一类非常重要的字符,它的主要作用是用于对字符在匹配对象中的位置进行描述。
^:表示匹配的模式出现在匹配对象的开头(和在里面不同)
$:表示匹配的模式出现在匹配对象的末尾
空格:表示匹配的模式出现在开始和结尾的两个边界之一
/^he/:可以匹配以he字符开头的字符串,比如hello、height等等;
/he$/:可以匹配以he字符结尾的字符串即she等;
/he/:空格开头,和^的作用一样,匹配以he开头的字符串;
/he/:空格结束,和$的作用一样,匹配以he结尾的字符串;
/^he$/:表示只和字符串he匹配。
括号:
正则表达式除了可以用户匹配,还可以用括号()来记录需要的信息,储存起来,给后面的表达式读取。比如:
/^([a-zA-Z0-9_-]+)@([a-zA-Z0-9_-]+)(.[a-zA-Z0-9_-])$/
就是记录邮件地址的用户名,和邮件地址的服务器地址(形式为username@之类的),在后面如果想要读取记录下来的字符串,只是需要用转义符+记录的次序来读取。比如\1就相当于第一个[a-zA-Z0-9_-]+,\2相当于第二个([a-zA-Z0-
您可能关注的文档
最近下载
- 生物跨学科融合教学实践(2).pptx VIP
- 【新课标】2025年最新《普通高中化学学课程标准》(Word版共114.docx VIP
- 航天推进理论基础-第七章 冲压发动机原理.ppt VIP
- 《实验:用油膜法估测油酸分子的大小》课件.pptx VIP
- 航天推进理论基础-第六章 液体火箭发动机技术.ppt VIP
- 五年级上册语文阅读理解常考题型和答题公式.pdf VIP
- 航天推进理论基础-第五章 固体火箭发动机.ppt VIP
- 宠物活体承诺函模版.docx VIP
- 2025广东珠海市北京师范大学香山中学秋季面向社会招聘事业编制教师53人备考题库含答案解析(夺冠).docx VIP
- 航天推进理论基础-第四章 火箭发动机热力计算.ppt VIP
原创力文档


文档评论(0)