正则表达式73496.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文档。上传文档
查看更多
正则表达式73496

正则表达式讲义 目录 2 入门简介 3 正则表达式起源 4 什么是正则表达式 5 范例讲解 6 PHP中使用正则表达式的函数 7 常用表达式 8 基本语法 9 学习方法 10 作业 11 参考资料 入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如, vi编辑器,Perl或PHP脚本语言,以及awk或sed shell程序等。此外,象JavaScript这种客户端的脚本语言也提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的 局限,成为人们广为接受的概念和功能。 正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。 举例来说,正则表达式的一个最为普遍的应用就是用于验证用户在线输入的邮件地址的格式是否正确。如果通过正则表达式验证用户邮件地址的格式 正确,用户所填写的表单信息将会被正常处理;反之,如果用户输入的邮件地址与正则表达的模式不匹配,将会弹出提示信息,要求用户重新输入正确的邮件地址。 由此可见正则表达式在WEB应用的逻辑判断中具有举足轻重的作用。 正则表达式起源 正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。 1956 年, 一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因 此采用“正则表达式”这个术语。 什么是正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所有哪些信誉好的足球投注网站的字符串进行匹配。 范例讲解 正则表达式是比较抽象的,如:“(19|20)(\d{2})-(\d{1,2})-(\d{1,2})”代表什么呢?如果不是很清楚,那也没关系,我们下面一步步地认识了解正则表达式,希望学完这一节,大家能够很轻松地了解上述表达式的意思。 首先,让我们看看两个特别的字符:’^’ 和 ‘$’ 他们是分别用来匹配字符串的开始和结束,一下分别举例说明 ^The: 匹配以 The开头的字符串; of despair$: 匹配以 of despair 结尾的字符串; ^abc$: 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配 notice: 匹配包含notice的字符串 例: ?php $string = The Dog; $pattern = ^The; if(ereg($pattern,$string)) { print Ture; } else print Flase; ? ? 结果是:Ture ab*: 匹配字符串a和0个或者更多b组成的字符串(a, ab, abbb, etc.); ab+: 和上面一样,但最少有一个b (ab, abbb, etc.); ab?:匹配0个或者一个b; a?b+$: 匹配以一个或者0个a再加上一个以上的b结尾的字符串. 你也可以在大括号里面限制字符出现的个数,比如 ab{2}: 匹配一个a后面跟两个b(一个也不能少)(abb); ab{2,}: 最少更两个b(abb, abbbb, etc.); ab{3,5}: 2-5个b(abbb, abbbb, or abbbbb). 请注意大括号的使用规则是 {0,2}, 不是 {,2}),也就是必须指定起始数。 另外,你可能注意到, *, +, 和? 分别和一下三个范围标注是一样的,{0,}, {1,}, 和 {0,1}。 现在把一定数量的字符放到小括号里,比如: a(bc)*: 匹配 a 后面跟0个或者一个bc; a(bc){1,5}: 一个到5个 bc 还有一个字符 │, 相当于OR 操作: hi│hello: 匹配含有hi 或者 hello 的 字符串; (b│cd)ef: 匹配含有 bef 或者 cdef

文档评论(0)

精品文档 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档