第15章 PHP中的正则表达式
正则表达式是在处理文本数据时一项重要而复杂的技术。许多语言,包括PERL、PHP、Python、JavaScript都支持使用正则表达式处理文本,一些文本编辑器用正则表达式实现高级别的“搜索/替换”功能。正则表达式已经在很多软件中得到广泛的应用,包括Linux、UNIX等操作系统,在PHP、Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。
使用正则表达式的目的就是,可以通过简单的办法来实现强大的功能。为了简单、有效而又不失强大,造成了正则表达式规则的复杂,构建正确、有效的正则表达式更是难度较大,所以需要付出一些努力。入门之后通过一定的参考和大量实践,在开发实践中使用正则表达式还是比较有效并且有趣的。
本章主要涉及的知识点有:
❑认识正则表达式
❑了解正则表达式的语法
❑学习用PHP扩展正则表达式
❑使用PERL兼容正则表达式函数
❑几例常见正则表达式分析
15.1 什么是正则表达式
如果原来没有使用过正则表达式,那么读者可能对这个术语会完全不熟悉。对读者来说,这的确是一个陌生的概念。其实,平时在使用计算机的时候多少都会碰到正则表达式的影子。例如,要在计算机系统中查找某个文件,碰巧忘记了文件名,但知道该文件的类型,即知道该文件的后缀名,比如,要找一个图片,那么可能会通过*.png这样的字符来帮助查找,其中字符*就代表了一个或多个字符。计算机通过这样的字符组合,会将系统中所有以.png为后缀名的文件列出来,如:m.png、flag.png、river.png、mydog.png等,以便用户找到需要的图片文件。
事实上,可以将这个例子中的*.png看做是一个正则表达式,利用这个表达式,计算机匹配出符合条件的多个文件。又如,要搜索一个包含字符“cat”的字符串,搜索用的正则表达式就是“cat”。如果搜索对大小写不敏感,单词“catalog”、“Catherine”、“sophisticated”都可以匹配。
正则表达式(Regular expression)实际上就是负责对字符串做解析对比,从而分析出字符串的构成,以便进一步对字符串做相关的处理。
编程过程中经常会遇到对文本和字符串的判别处理。有时,程序需要判别一个字符串是否符合某种格式,以决定程序的执行流程。举例来说,在程序中验证用户在Web页面输入的邮件地址的格式是否正确。如果通过正则表达式验证用户邮件地址的格式正确,用户所填写的表单信息将会被正常处理;反之,如果用户输入的邮件地址与正则表达的模式不匹配,将会弹出提示信息,要求用户重新输入正确的邮件地址。这样的问题,就可以通过正则表达式来处理。
提示 正则表达式允许用户通过使用某些特殊字符构建匹配模式,然后把匹配模式与文件中的数据、程序输入或者Web页面的表单输入等目标对象进行比较,根据这些输入中是否包含匹配模式,来执行相应的程序。
共有条评论 网友评论