文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php中正则表达式是什么意思

2019-04-23 09:13

关注

本教程操作环境: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 函数库。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯