浅说正则——会了就不会忘
闲来无事,看了看新浪最近的面试题,其中关于正则的题目,让自己意识到了这一块的薄弱。
闲来无事,搜集了很多资料(ps:三中全会这几天,用google特慢,不得以用bd,不说了,你懂得,真实屌丝的百科全书,建议能用google就google),研究了一下正则。有一些小感触,正则没有你想象中那么难,正则不是那么简单。
记得有位贵人告诉我,正则会了就不会忘。当时将信将疑。
怎么看待正则?难,不难,很容易?对于正则,我想说:会了就不会忘。
很多同行,包括之前的自己。对于正则都是拿来主义,用到的时候,一搜就有。大体上能看懂,深究有不明白。就是那句话恰到好处——最熟悉的陌生人。
关于正则的基础知识,就没必要赘述,到处都是。
还是想跟大家分享两篇,东西好嘛。PHP正则快速学习和正则入门。
这里主要想说的是电子邮箱地址的正则匹配。
下面的写法最常见:/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/ ;
还有诸如:/^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/;
/^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
(\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*;)*;
这些都只能满足普通的要求,专门对比了一下几个门户的邮箱地址注册规则,见下图(腾讯的不太友好,输入后才有规则提示,没有拿来):
差别真的很大,网上的很多也不满足如写的域名规则:
尝试着写的一个电子邮件验证,希望大家拍砖:$preg = "/^[a-zA-Z0-9]+(\.\w+)*[^_]@[^-][a-zA-Z0-9-]+[^-]\.[^-][a-zA-Z0-9-]+[^-]$/ "
做为一名工程师,要得就是专业,而正则就是专业性的体现。多花一点时间,深入钻研,会了就不会忘。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架