资讯专栏INFORMATION COLUMN

PHP正则表达式函数解析与正则表达式基本语法

mo0n1andin / 3239人阅读

摘要:一正则表达式函数解析表单验证等地址的合法性匹配结果可以看作是值非法词的过滤二正则表达式基本语法测试正则表达式的工具中午匹配最好转成转换工具注意是必须在一起的,否则如下也被当成一个原子去匹配。

一、PHP正则表达式函数解析

preg_match();preg_match_all();表单验证等

//email地址的合法性-preg_match(),匹配结果可以看作是bool值

preg_replace();非法词的过滤

//f**k

二、正则表达式基本语法

测试正则表达式的工具

中午匹配最好转成unicode:Unicode转换工具


注意:[^是必须在一起的,否则如下:^也被当成一个原子去匹配。

分枝是指制定几个规则,如果满足任意一种规则,则都当作匹配成功。具体来说就是用 | 符号把各种规则分开,且条件从左至右匹配。
提示
由于分枝规定,只要匹配成功,就不再对后面的条件加以匹配,所以如果你想匹配有包含关系的内容,请注意规则的顺序。 下面是一个使用分枝的例子。

美国的邮政编码的规则是 5 个数字或者 5 个数字连上 4 个数字,如 12345 或者 54321-1234 ,如果要匹配所有的邮编,则正确的正则表达式为:
d{5}-d{4}|d{5}
//错误写法
d{5}|d{5}-d{4}
下面的错误写法,只能匹配到 5 位数字及 9 位数字的前 5 位数字的情况,而不能匹配 9 位数字的邮编。

.等价于[^ ]

{n} 表示匹配其前面的原子恰好笔记出现n次的 如:5{3} 相当于 555 {n,}
表示匹配其前面的原子最少出现n次的如:[a-zA-Z]{5,}至少连续出现5次的字母如wertt;
{n,m}表示其前面的原子最少出现5次,最多出现m次 如:w{5,9}
* 匹配0次, 1次或者多次其之前的原子 即{0,} 如w*
+ 匹配1次或多次其之前的原子 {1,} d+
?匹配0次或1次其之前的原子 {0,1} _?u

第三、修正模式

多种可能结果中最短的那个,默认是贪婪模式,既多种可能性中最长的那个

x:忽略空格和tab制表符空白格

四、实战-常见正则表达式

非空匹配:.+

浮点数:d+.d{2}$

手机号:^1(3|5)d{9}$

邮箱:^w+(.w+)*@w+(.w+)+$

URl:^(https?://)?(w+.)+[a-zA-Z]+$

仅匹配3~15个汉字和大小写字母:^([x{4e00}-x{9fa5}]|[a-zA-Z]){3,15}$/u

(/u表示按unicode(utf-8)匹配(主要针对多字节比如汉字),/U才是懒惰匹配哦)

正则表达式的/要转义,不转义是匹配不到的
模式单元(3|5|7|8)等同于[3578]
注意:(3|5) 等同于[35]而不是[3|5]哦!!

PHP 常用正则表达式整理

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

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

相关文章

  • PHP 正则达式入门 Getting Started with PHP Regular Expre

    摘要:兼容的正则表达式已经实现了很多使用不同解析引擎的正则函数。中主要有两个正则解析器一个称为,另一个称为兼容正则表达式。在中,每个正则表达式模式都是使用符合格式的字符串。 原文链接: Getting Started with PHP Regular Expressions Last-Modified: 2019年5月10日16:23:19译者注: 本文是面向0正则基础的phper, 很多...

    zhangke3016 评论0 收藏0
  • PHP的性能优化方法总结

    摘要:内置函数的性能优劣。产生额外开销的错误抑制符号,最好别用不管是性能优化和项目的健壮性等方面。在方法中递增局部变量,速度是最快的。类似的方法调用所花费的时间接近于次的局部变量递增操作。 什么情况之下,会遇到PHP性能问题?1:PHP语法使用不恰当。2:使用PHP语言做了它不擅长的事情。3:使用PHP语言连接的服务不给力。4:PHP自身的短板(PHP自身做不了的事情)。5:我们也不知道的问...

    gekylin 评论0 收藏0
  • php性能怎么优化?php性能优化及安全策略

    摘要:性能问题一般不会超过占整个项目性能的,一般在。内置函数的性能优劣。几乎与在函数中调用局部变量的速度相当。递增一个全局变量要比递增一个局部变量慢倍。类似的方法调用所花费的时间接近于次的局部变量递增操作。 php性能怎么优化?性能是网站运行是否良好的关键因素, 网站的性能与效率影响着公司的运营成本及长远发展,编写出高质高效的代码是我们每个开发人员必备的素质,也是我们良好...

    番茄西红柿 评论0 收藏2637
  • PHP模板引擎的原理实践

    摘要:模板文件前端开发者将前端代码中的所有数据替换成与服务端开发者约定好的标签及变量名。声明本文是学习核心技术与最佳实践列旭松陈文著第章模板引擎的原理与实践学习笔记。 0x00 模板引擎的原理 模板引擎就是在模板文件中使用一系列提前约定好的标签代替原生PHP代码,通过访问一个PHP的入口文件,会有一个PHP编译文件根据约定替换模板内标签以及标签内变量,最终将模板文件编译成一个PHP文件,然后...

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

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

    hover_lew 评论0 收藏0

发表评论

0条评论

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