正则表达式2.pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正则表达式2

正则表达式使用详解 如果我们问那些UNIX 系统的爱好者他们最喜欢什么,答案除了稳定的系统和可以远程启动之外,十有八 九的人会提到正则表达式;如果我们再问他们最头痛的是什么,可能除了复杂的进程控制和安装过程之外,还 会是正则表达式。那么正则表达式到底是什么?如何才能真正的掌握正则表达式并正确的加以灵活运用?本文 将就此展开介绍,希望能够对那些渴望了解和掌握正则表达式的读者有所助益。 入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。我们可以在几乎所有的基于UNIX 系统的工具中找到正则表达式的身影,例如,vi 编辑器,Perl 或PHP 脚本语言,以及awk 或sed shell程序等。 此外,象JavaScript 这种客户端的脚本语言也提供了对正则表达式的支持。由此可见,正则表达式已经超出了 某种语言或某个系统的局限,成为人们广为接受的概念和功能。 正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入 以及WEB 页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。 举例来说,正则表达式的一个最为普遍的应用就是用于验证用户在线输入的邮件地址的格式是否正确。如 果通过正则表达式验证用户邮件地址的格式正确,用户所填写的表单信息将会被正常处理;反之,如果用户输 入的邮件地址与正则表达的模式不匹配,将会弹出提示信息,要求用户重新输入正确的邮件地址。由此可见正 则表达式在WEB 应用的逻辑判断中具有举足轻重的作用。 基本语法 在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。 正则表达式的形式一般如下: /love/ 其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的 模式内容放入 “/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元 字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符 (即位于 元字符前面的字符)在目标对象中的出现模式。 较为常用的元字符包括: “+”, “*”,以及 “?”。其中,“+”元字符规定其前导字符必须在目标对象 中连续出现一次或多次,“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次,而 “?”元字符 规定其前导对象必须在目标对象中连续出现零次或一次。 下面,就让我们来看一下正则表达式元字符的具体应用。 /fo+/ 因为上述正则表达式中包含 “+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者 “football” 等在字母f 后面连续出现一个或多个字母o 的字符串相匹配。 /eg*/ 因为上述正则表达式中包含 “*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等 在字母e后面连续出现零个或多个字母g 的字符串相匹配。 /Wil?/ 因为上述正则表达式中包含 “?”元字符,表示可以与目标对象中的 “Will”, 或者 “Wilson”,等在字 母i 后面连续出现零个或一个字母l 的字符串相匹配。 除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如, /jim{2,6}/ 上述正则表达式规定字符m 可以在匹配对象中连续出现2-6 次,因此,上述正则表达式可以同jimmy 或 jimmmmmy 等字符串相匹配。 在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。 s:用于匹配单个空格符,包括tab 键和换行符; S:用于匹配除单个空格符之外的所有字符; d:用于匹配从0 到9 的数字; w:用于匹配字母,数字或下划线字符; W:用于匹配所有与w 不匹配的字符; . :用于匹配除换行符之外的所有字符。 (说明:我们可以把s和S 以及w 和W 看作互为逆运算) 下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。 /s+/ 上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。 /d000/ 如果我们手中有一份复杂的财务报表,那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千 元的款项。 除了我们以上所介绍的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档