- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
什么是正则表达式:??? 简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经成为了一个通用的概念和工具,被各类技术人员所广泛使用。???? 在某个Linux网站上面有这样的话:如果你问一下Linux爱好者最喜欢什么,他可能会回答正则表达式;如果你问他最害怕什么,除了繁琐的安装配置外他肯定会说正则表达式。???? 正如上面说的,正则表达式看起来非常复杂,让人害怕,大多数的PHP初学者都会跳过这里,继续下面的学习,但是PHP中的正则表达式有着可以利用模式匹配找到符合条件的字符串、判断字符串是否合乎条件或者用指定的字符串来替代符合条件的字符串等强大的功能,不学实在太可惜了……?正则表达式 正则表达式是一个非常大的题目,Perl的正则表达式的强大是闻了名的。而PHP也不弱,他继承了Perl的正则表达式法则,还有自己的一套法则。这里只说PHP自己的正则表达式。 正则表达式是最基本的元素。简单地说就是一套规则,用于去判定其它的元素是不是符合自身的规则,或者说是不是有相同的特征描述。 正则表达式的开始符:^,结尾符$,这两个符号间的是匹配的元素。如检查一个电话号码是不是打往北京的号,用正则表达式表示就是“^010$”。只要前3位区号是010,就是北京的号,后面的电话号码就不用管了。然后,用正则表达式匹配函数ereg来判断,例: ?php $pattern = ^010$; $phone = 01080718828; if(ereg($pattern, $phone)) echo 打往北京的号; else echo 不是打往北京的号; ? 这就是正则表达式。北京的电话都是8位数字的,那我要知道这个号码是不是正确了?假如他按了9位号呢?如果判断正误?这就要用到正则表达式的字符簇。那么上例的正则表达式就要这样写:^010[0-9]{8}$,就能同时判断号码是不是符合规则。正则表达式有很多的应用,像LBB、VBB论坛在发贴时的所谓VBB代码LBB代码的解析,都是用正则表达式完成的。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、
文档评论(0)