PHP 正则表达式函数
Posted liqingabc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 正则表达式函数相关的知识,希望对你有一定的参考价值。
初次接触正则表达式的网友出了感觉它有些繁琐,还会有一种深不可测的感觉。其实正则表达式就是描述字符排列模式的一种自定义的语法规则名,在 php 给我们提供的系统函数中,使用这种模式对字符串进行匹配、查找、替换及分割等操作。它的应用非常之广泛。比如常见的使用正则表达式去验证用户在表单中提交的用户名密码以及邮箱地址、身份证号码乃至电话号码等格式是不是合法;在用户发布文章时,将输入有URL的地方全部加上对应的链接;按所有标点符号计算文章中一共有多少个句子;抓取网页中某种格式的数据等。正则表达式并不是 PHP 自己的产物,在很多领域都会见到它的应用。除了在Perl、C#、及 Java 语言中应用外,在我们的B/S架构软件开发中,在 Linux 操作系统、前台 javascript 脚本、后台脚本 PHP 以及 mysql 数据库中都可以应用到正则表达式。
正则表达式也被称之为模式表达式,它自身具有一套非常完整的、可以编写模式的语法系统,提供了一种灵活而且直观的字符处理方法。正则表达式通过构建具有特定过着的模式,与输入的字符串信息进行比较,在特定的函数中使用,从而实现字符串的匹配、查找、替换以及分割等操作。下面中给出的三个模式,都是按照正则表达式的语法规则来构建的。代码如下:
“/[a-zA-z]+:[∧s]*/” //匹配网址 URL 的正则表达式
“/<(s*?)[∧>]*>.*?<∧1>|<.*?/>/i” //匹配 html 标记的正则表达式
“∧w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/” //匹配 E-mail 地址的正则表达式
不要被以上的例子中看做是乱码的字符串给吓退,他们就是按照正则表达式的语法规则构建的模式,是一种由普通字符和具有特殊字符组成的字符串。而且要把这些模式字符串放在特定的正则表达式函数中使用才有效。网有些学完本章以后就可以自由地应用这样的代码了。在 PHP 中支持两套正则表达式的处理函数库。一套由 PCRE (Perl Compatible Regular Expression )库提供、与 Perl 语言兼容的正则表达式函数、使用以 preg 为前缀命名的函数,而且表达式都应被包含在定界中,比如斜线(/)。另外一种就是由 POSLX(Portable Operation System interface)扩展语法的正则表达式函数,使用以“preg_”为前缀命名的函数。两套函数的功能基本相似,执行效率稍有不同。一般而言,实现相同的功能,使用 PCRE 库提供的正则表达式效率略占优势。所以在本文中主要介绍使用“preg_” 为前缀的正则表达函数。
以上是关于PHP 正则表达式函数的主要内容,如果未能解决你的问题,请参考以下文章