专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

php正则是什么意思,php正则表达式语法规则详解

来源:小嗨整编  作者:小嗨  发布时间:2022-11-04 04:17
摘要:php正则是什么意思,php正则表达式语法规则详解php正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式。可以匹配、替换、截取匹配的字符串。一个完整的正则表达式由两部分构成,元字符和文本字符。元字符就是具有特殊含义的字符,如...

php正则是什么意思,php正则表达式语法规则详解

php正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式。可以匹配、替换、截取匹配的字符串。

一个完整的正则表达式由两部分构成,元字符和文本字符。元字符就是具有特殊含义的字符,如“*”,“?”。文本字符就是普通的文本,如字母和数字等。PCRE风格的正则表达式会字定界符“/”的中间。如:/^http:\/\/(www\.)?.+.?$/。下面的例子没有遵守这个风格。

下面介绍它的语法规则

php正则是什么意思,php正则表达式语法规则详解

一、行定位符(^和$)

行定位符就是用来描述字符串的边界。“^”表示行的开始,“$”表示行的结尾。

如:^stu 表示是匹配字符串是stu开头的,student,study 就可以被找出来,而tastu,tbstuay就不能匹配了。

stu$ 表示是匹配字符串是stu结尾的,tastu就可以被找出来了。

如果想要匹配的字符串可以出现在字符串的任意位置,那么直接写stu就可以了。

二、单词定界符(\b、\B)

想匹配字符串出现的任意位置,可以直接使用字符串。像tm可以在 html,utmost中被找出来。但现在如果要匹配单词tm,而不是单词的一部分,就可以使用单词界定符\b表示要查找的字符串为一个完整的单词。如:\btm\b

\B 的意思是匹配的字符串不能是一个完整的单词,而是其他单词或者字符串的一部分。和\b的意思的刚好相反的。

三、字符类([])

正则表达式是区分大小写的,如果要忽略大小写可以使用方括号表达式“[]”。只要匹配的字符串出现在方括号内,即可表示匹配成功。要注意的是,一个方括号只能匹配一个字符。如要匹配字符串tm不区分大小写,可以写作:[Tt][Mm]

四、选择字符(|)

选择字符可以理解为或。T|tM|m 意思就是字母T或者t开头,后面接一个字母M或者m。“[]”和“|”使用区别在于“[]”只能匹配单个字符,而“|”可以匹配任意长度的字符串。

php正则是什么意思,php正则表达式语法规则详解

五、连字符(-)

连字符可以表示字符的范围。比如我们规定一个字符串只能是小写字母开头,我们可以写[a,b,c,d,.....],用连字符就可以之间写[a-z]

六、排除字符([^])

^放进了方括号中,表示的是排除的意思。如:[^a-z] 表示的就是不能以小写字母开头

七、限定符(?,*,+,{n,m})

?:匹配前面的字符零次或者一次。如:colou?r,该表达式可以匹配 colour 和 color

+:匹配前面的字符一次或者多次。如:go+gle,该表达式可以匹配的范围从google到goo...gle

*:匹配前面的字符零次或者多次。如:go*gle,该表达式可以匹配的范围从ggle到goo...gle

{n}:匹配前面的字符n次。如:go{2}gle,该表达式只匹配google

{n,}:匹配前面的字符最少n次。如:go{n,}gle,该表达式可以匹配的范围从google到goo..gle

{n,m}:匹配前面的字符最少n次,最多m次。如:employe{0,2},该表达式可以匹配employ,employe和employee这3种情况。

八、点号字符(.)

点字符可以匹配出除换行符外的任意一个字符。如匹配s开头,t结尾,中间包含一个字母的单词,可以写作:^s.t$。可以匹配到sat、set、sit等等。匹配一个单词,它的第一个字母是r,第3个字母是s,最后一个字母是t。那么可以写作:^r.s.*t$

九、转义字符(\)

正则表达式也是用转义字符将特殊字符(如:“.”,“?”,“\”等等)变为普通的字符。如匹配127.0.0.1的IP地址,可以写成:[0-9]{1,3}(\.[0-9]{1-3}){3}

这里的点就是通过转义。

十、反斜线(\)

“\”可以做转义字符外,还能做其他功能。

1、将一些不可打印的字符显示出来

\a:警报

\b:退格

\e:escape

\f:换页符

\r:回车符

\t:水平制表符

\xhh:十六进制代码

\ddd:八进制代码

\cx:也就是control-x的缩写,匹配由x指明的控制字符,x是任意字符

2、还可以指定预定义字符集

\d:任意一个十进制数字,相当于[0-9]

\D:任意一个非十进制数字

\s:任意一个空白字符(空格、换行符、换页符、回车符、水平制表符),相当于[\f\n\r\t]

\S:任意一个非空白字符

\w:任意一个单词字符,相当于[a-zA-Z0-9]

\W:任意一个非单词字符

3、定义断言

\b:单词界定符,用来匹配字符串中的某些位置。\b是以统一的定界符来匹配。

\B:非单词定界符序列

\A:总是能够匹配待搜索文本的起始位置

\Z:表示在未指定任何模式下匹配的字符,通常是字符串的末尾位置,或者是在字符串末尾的换行符之前的位置

\z:只匹配字符串的末尾,而不考虑任何换行符

\G:当前匹配的起始位置


本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/868171.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


网络百科
小编:小嗨整编
相关文章相关阅读
  • PHP调用美联软通短信接口实现短信发送

    PHP调用美联软通短信接口实现短信发送

    随着人们生活水平的提高和科技的发展,短信已成为人们交流的主要方式之一,越来越多的企业开始通过短信平台来实现营销、提醒等功能。在这个过程中,短信接口的选择显得尤为重要。本文将介绍如何通过php调用美联软通短信接口实现短信发送。一、美联软通短信...

  • php怎么实现对字符串的排序

    php怎么实现对字符串的排序

    实现步骤:1、利用str_split()函数将字符串转为字符数组,语法“str_split(字符串)”;2、使用asort()或arsort()函数来对字符数组进行升序排序或降序排序,语法“asort(字符数组)”或“arsort(字符数组...

  • php文件gbk怎么转utf8

    php文件gbk怎么转utf8

    php文件gbk转utf8的方法:首先建立存放转换后文件的目录;然后建立对应的文件夹;最后通过“-execiconv-fgbk-tutf-8{}-outf8/...”方法转换php文件即可。本文操作环境:windows7系统...

  • 如何使用PHP中的字符串变量

    如何使用PHP中的字符串变量

    如何使用PHP中的字符串变量在PHP中,字符串变量是一种非常常见的数据类型,用于存储和操作文本数据。在本文中,我们将介绍如何使用PHP中的字符串变量,并提供一些具体的代码示例。字符串变量的声明和赋值在PHP中,要声明一个字符串变量,只需要使...

  • php中三元表达式怎么写

    php中三元表达式怎么写

    在php中,三元表达式可以实现简单的条件判断功能,写法为“表达式1?表达式2:表达式3”;如果条件“表达式1”成立,则执行语句“表达式2”,否则执行“表达式3”。本教程操作环境:windows7系统、PHP7.1版、DELLG3电脑php...

  • js手机号码正则表达式

    js手机号码正则表达式

    正则表达式(regularexpression)是一个描述字符模式的对象。使用javascript正则表达式可以进行强大的模式匹配和文本检索与替换功能。手机号码正则表达式验证。functioncheckPhone(){var...

  • php错误哪几种

    php错误哪几种

    php错误一般分为三类:1、语法错误,是在编程中最容易碰到也是最容易解决的一种错误;2、运行时错误,是在程序执行时出现的错误;3、逻辑错误,程序会正常执行,只是输出的结果并不是我们期望的而已。本教程操作环境:windows7系统、PHP7....

  • php如何使用静态方法?

    php如何使用静态方法?

    php是一种开源的服务器端编程语言,广泛应用于网站开发、软件开发和数据处理等领域。它是一种动态的语言,支持面向对象编程(oop)。在php中,静态方法是一种非常重要的oop概念,它可以帮助我们更好地组织代码和提高程序的效率。本文将介绍PHP...

  • 周排行
  • 月排行
  • 年排行

精彩推荐