本章要点:正则表达式概念模式匹配的使用正则表达式的编写正则表达式搜索和替换利用正则表达式分割字符串第8章PHP中的正则表达式及式样匹配8.
1正则表达式简介8.
1.
1正则表达式概念正则表达式(RegularExpression),又称正规表达式,简单地说就是若干字符组成的单个字符串,它可以描述或者匹配一系列符合某个句法规则的字符串.
在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容.
正则表达式由一些普通字符和一些元字符组成,其中,不同的元字符分别代表不同的特殊含义,它们是实现模式的编码,普通字符包括大小写字母、数字,大多数数字字符在模式中表示它们自身并匹配目标中相应的字符.
8.
1.
2常用的正则表达式及举例要匹配的内容正则表达式网址URL^[a-zA-z]+://(\w+(-\w+w+(-\w+S*)$年-月-日/^\d{4}-(0\d|1[012])-(0\d|[12]\d|3[01])$/IP地址^(d{1,2}|1dd|2[0-4]d|25[0-5]).
(d{1,2}|1dd|2[0-4]d|25[0-5]).
(d{1,2}|1dd|2[0-4]d|25[0-5]).
(d{1,2}|1dd|2[0-4]d|25[0-5])$中文字符[\u4e00-\u9fa5]空行\n[\s|]*\rHTML标记1>首尾空格(^\s*)|(\s*$)Email地址"^([w-0-9]{1,3}.
[0-9]{1,3}.
[0-9]{1,3}.
)|(([w-a-zA-Z]{2,4}|[0-9]{1,3}腾讯QQ号^[1-9]*[1-9][0-9]*$邮政编码^[1-9]\d{5}$电话号码^((\(\d{2,3}\))|(\d{3}0\d{2,3}\)|0\d{2,3}-)[1-9]\d{6,7}(\-\d{1,4})$手机号码^((\(\d{2,3}\))|(\d{3}\-))13\d{9}$sql语句^(select|drop|delete|create|update|insert).
*$以字母开头,允许5-16字节、允许字母数字下划线的帐号^[a-zA-Z][a-zA-Z0-9_]{4,15}$中文、英文、数字及下划线^[\u4e00-\u9fa5_a-zA-Z0-9]+$8.
2模式匹配函数1匹配字符串正则表达式编写完以后就可以使用模式匹配函数来处理指定字符串,其中,字符串的匹配是正则表达式的主要应用之一.
在PHP中,和preg_match()函数功能类似的还有两个函数,它们也是用于匹配正则表达式的:ereg()和eregi()函数.
2替换字符串用于替换字符串的函数主要有两个,一个是preg_replace()函数,它是Perl兼容正则表达式函数;一个是ereg_replace()函数,它是POSIX扩展正则表达式函数.
3用正则表达式分割字符串PHP程序支持两种用于对字符串进行分割的正则表达式函数,一种是Perl兼容正则表达式函数preg_split()函数,一种是POSIX扩展正则表达式函数split()函数.
4转义正则表达式字符1程序功能介绍2程序代码分析8.
4案例剖析:新用户注册程序8.
5本章小结本章为读者介绍了PHP中正则表达式,首先让读者了解什么是正则表达式、正则表达式的构成、正则表达式的语法等基础知识,然后着重介绍了几种常用的正则表达式函数的功能和使用方法,最后通过典型案例来进一步深入讲述正则表达式的使用方法.
在讲述本章过程中介绍了很多实证例子,希望读者能很快熟悉正则表达式的应用.
今天遇到一个网友,他在一个服务器中搭建有十几个网站,但是他之前都是采集站点数据很大,但是现在他删除数据之后希望设置可能有索引的文章给予404跳转页面。虽然他程序有默认的404页面,但是达不到他引流的目的,他希望设置统一的404页面。实际上设置还是很简单的,我们找到他是Nginx还是Apache,直接在引擎配置文件中设置即可。这里有看到他采用的是宝塔面板,直接在他的Nginx中设置。这里我们找到当前...
DMIT.io是成立于2018年的一家国外主机商,提供VPS主机和独立服务器租用,数据中心包括中国香港、美国洛杉矶和日本等,其中日本VPS是新上的节点,基于KVM架构,国际线路,1Gbps带宽,同时提供月付循环8折优惠码,或者年付一次性5折优惠码,优惠后最低每月8.72美元或者首年65.4美元起,支持使用PayPal或者支付宝等付款方式。下面列出部分日本VPS主机配置信息,价格以月付为例。CPU:...
昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...