PHP正则表达式三.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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-

文档评论(0)

2017meng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档