资讯专栏INFORMATION COLUMN

PHP正则表达式的基本概念

JellyBool / 1873人阅读

摘要:正则表达式是用于匹配的字符串使用库四部分组成定界符原子元字符模式修正符没匹配上原子要点打印字符键盘打出的字符非打印字符回车等打印字符除了字母数字下划线等,其他最好加转义匹配回车通用任意一个数字,任意一个非数字,任意一个字,任意一个非字

1.正则表达式是用于匹配的字符串
2.使用PCRE库
3.四部分组成:定界符、原子、元字符、模式修正符

$str="aaa1aa2aa333aaaa";
$reg="/d/";
echo preg_replace($reg,"#",$str);
print_r preg_split($reg,$str);
if(preg_match($reg,$str,$arr)){
    print_r($arr);
}else{
    echo "没匹配上";
}

4.原子
要点

a.打印字符(键盘打出的字符)/非打印字符(回车等)
b.打印字符除了字母数字下划线等,其他最好加转义
$ren="/
/";//匹配回车
c.通用:d任意一个数字,D任意一个非数字,w任意一个字(a-z A-Z 0-9 _),W任意一个非字,s空白(回车TAB空格),S非空白
d.自定义原子表:[12348][^a-zA-Z]
e.(.)匹配所有

5.元字符

a.*:修饰前面的原子可以出现任意次
b.+:修饰前面的原子至少出现一次
c.?:修饰前面的原子可以出现0或1次
d.{m}:修饰前面的原子只能出现m次
e.{m,n}:修饰前面的原子出现次数2-5闭区间内
f.{m,}:修饰前面的原子至少出现m次
g.|:两边的原子只要出现一个即可,优先级最低
$reg="/abc|efg/";//abc或efg,而非c或e,因为优先级最低
h.^或A:原子必须以某字符开始,写在正则表达式的最前面
i.$或:原子必须以某字符结束,写在正则表达式的最后面
j.:匹配单词边界;B:匹配除单词边界以外的部分(所谓边界即空白,单词哪边有空白用b,否则B)
k.():
    (1)改变优先级
    (2)将小原子变成大原子,如下:
$reg="/(abc)*/";//abc可以出现多次,而非只有c
    (3)子模式:整个表达式是大模式,()内是独立子模式,只想使用括号前两个作用,可以(?:)
    (4)反向引用:1引用第一个子模式
    

6.模式修正符

a.写在定界符右边,可以组合使用,修正正则表达式的解释或扩充了功能 
    (1)i:不区分大小写
    (2)m:视为多行,如:每行开始可匹配^,结尾$
    (3)s:.可以匹配换行符(.默认不匹配换行符)  
    (4)x:忽略正则表达式中空白,待匹配字符串不能空白了   
    (5)e:
    (6)U:取消贪婪模式,由于与其他语言不兼容,建议不用,而使用.*?或.+?取消贪婪      

7.正则表达式的编写(具体详见下一篇:《正则表达式与字符串操作函数》)

a.正则表达式是一种算法/语言
b.列需求,一条条满足

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25651.html

相关文章

  • 正则达式基本概念

    摘要:引用文字什么是正则表达式正则表达式是一个描述字符模式的对象。正则表达式元字符是包含特殊含义的字符,可以控制匹配模式的方式。 引用文字 什么是正则表达式 正则表达式是一个描述字符模式的对象。主要用来验证客户端的输入数据,用户填写完表单信息提交后,就会传递给后台服务器,服务器会通过PHP等后台脚本进行处理,因为客户端验证,节约了大量的服务器资源,并提供了良好的用户体验。 创建正则表达式 创...

    shiguibiao 评论0 收藏0
  • PHP小知识点

    摘要:那些琐碎的知识点作者记录的的很奇特很难记的知识点。易错知识点整理注意和的区别中和都是输出的作用,但是两者之间还是有细微的差别。今天手头不忙,总结一下,分享过程中掌握的知识点。 深入理解 PHP 之:Nginx 与 FPM 的工作机制 这篇文章从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正理解 Nginx 与 PHP 是如何协同工作的。 PHP 那些琐碎的知识...

    hover_lew 评论0 收藏0
  • Nginx Location 配置

    摘要:而区块则是在区块里面,细分到针对不同的路径和请求而进行的配置。在留空的情况下,配置表示请求路径由开始。表示大小写不敏感的正则匹配。注意配置,这里匹配到开始的话,直接就返回了。匹配以结尾的请求这个通常用来设置图片的请求响应。 原文来自:https://www.codecasts.com/blo... 今天有一位同学问到 Nginx 的站点多路径匹配的问题? 1.www.domain.c...

    goji 评论0 收藏0
  • PHP正则达式函数解析与正则达式基本语法

    摘要:一正则表达式函数解析表单验证等地址的合法性匹配结果可以看作是值非法词的过滤二正则表达式基本语法测试正则表达式的工具中午匹配最好转成转换工具注意是必须在一起的,否则如下也被当成一个原子去匹配。 一、PHP正则表达式函数解析 showImg(https://segmentfault.com/img/bVThUH?w=638&h=95); showImg(https://segmentfau...

    mo0n1andin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<