php中正则表达式是什么意思
在php中,正则表达式是对字符串操作的一种逻辑公式,是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”可用来表达对字符串的一种过滤逻辑。正则表达式是在处理文本数据时的一项重要而复杂的技术。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
什么是正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。比如注册用户时常常需要用户填写 E-mail、电话、生日之类的有特定格式的数据,为了避免用户胡乱填一些无效的数据,这时候就要用到正则表达式。
正则表达式也称为模式表达式,自身具有一套非常完整的、可以编写模式的语法体系,提供了一种灵活且直观的字符串处理方法。正则表达式通过构建具有特定规则的模式,与输入的字符串信息比较,在特定的函数中使用从而实现字符串的匹配、查找、替换及分割等操作。
举个我们在日常生活中的例子,如果想搜索电脑某个目录下的所有 txt 格式的文件,就可以在该目录下输入*.txt,然后按回车键,就可以列出目录下的所有 txt 格式的文件了。这里使用到的*.txt就可以理解为一个简单的正则表达式。
下面使用正则表达式的语法构建了两个例子,如下所示:
/http(s)?:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is // 匹配网址 URL 的正则表达式 /^\w{3,}@([a-z]{2,7}|[0-9]{3})\.(com|cn)$/ // 匹配邮箱地址的正则表达式
不要被上例中看似乱码的字符串给吓退,它们就是按照正则表达式的语法规则构建的,是一种由普通字符和具有特殊功能的字符组成的字符串。而且要将这些字符串放在特定的正则表达式函数中使用才有效果。
使用正则表达式的主要目的就是为了通过简单的办法来实现强大的功能。为了简单、有效而又不失强大,造成了正则表达式规则的复杂,构建正确、有效的正则表达式更是难度较大,所以想要学好正则表达式需要付出一些努力才行。
正则表达式的用途
正则表达式描述的是一种字符串匹配模式,可以用来检查一个字符串中是否含有某种子串、将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等等。例如,当用户提交一个表单后,要判断输入的电话号码、E-mail 地址等是否有效,用普通的基于字面的字符验证显然是不够的。
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为“元字符”)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。正则表达式的模式可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
使用正则表达式的目的就是可以通过简单的办法来实现强大的功能。为了简单、有效而又不失强大,造成了正则表达式规则的复杂,构建正确、有效的正则表达式更是难度较大,所以需要付出一些努力才行。入门之后通过一定的参考和大量实践,在开发实践中使用正则表达式还是比较有效且有趣的。
在 PHP 中使用正则表达式
PHP 有两套函数库支持的正则表达式处理操作:
一套是由 PCRE(Perl Compatible Regular Expression)库提供、与 Perl 语言兼容的正则表达式函数,以preg_
为函数的前缀名称;
另一套是 POSIX(Portable Operating System Interface)扩展语法正则表达式函数,以ereg_
为函数的前缀。
两套函数库的功能相似,但是 PCRE 的执行效率高于 POSIX,所以我们只介绍 PCRE 函数库。
推荐学习:《PHP视频教程》
以上就是php中正则表达式是什么意思的详细内容,更多请关注其它相关文章!
上一篇: php如何替换字符串中字符
下一篇: php如何去掉字符串中的最后一个元素