AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
###写正则的诀窍 女孩和男孩恋爱时的诀窍通常是:测试你是不是对我好一点,如果是的,咱们的关系就更好一点。 而正则的诀窍和恋爱的诀窍基本一致:写一点、测一点。 因为,我们需要不断的正则,用preg\_match对比是不是能匹配成功。成功了,再写后面的一点。直到写完,全部匹配成功为止! 例如,我要写一个邮箱的正则。我先要做的事情,将常用的邮箱格式全部列出来。例如: [liwenkai@phpxy.com](mailto:liwenkai@phpxy.com) [liwenkai@corp.baidu.cm](mailto:liwenkai@corp.baidu.cm) [liwenkai@126.com](mailto:liwenkai@126.com) [l\_w\_k@xxx.com](mailto:l_w_k@xxx.com) [12345@qq.com](mailto:12345@qq.com) 常用的格式主要有这样一些。那我们就可以来分析: 1. 先匹配@之前的字符 \\w+(因为是0-9A-Za-z\_) 2. 第二个跟一个@符 3. 第三个再写上\[a-zA-Z0-9-\]+ 因为qq和126这些主域名是不能有下划线的 4. corp.baidu. 或者是126. 通常邮箱后缀都是这样的。所以我们可以写成:(\[a-zA-Z0-9-\]+.){1,2} 5. 上面的是将.转义,让它是本身的意思。括号重复的区间最少一次,最多两次。 6. 后面接下com|cn|org|gov.cn|net|edu.cn等就可以了 因此,我们的正则表达示在我使用: > /\\w+@(\[a-zA-Z0-9-\]+.){1,2}([com|cn|org|gov.cn|net|edu.cn](http://com%7Ccn%7Corg%7Cgov.cn%7Cnet%7Cedu.cn/))/ 邮箱的正则就被我写成功了。 ###常用正则函数 我们常用的正则函数有: | 函数名 | 功能 | | --- | --- | | preg\_filter | 执行一个正则表达式搜索和替换 | | preg\_grep | 返回匹配模式的数组条目 | | preg\_match | 执行一个正则表达式匹配 | | preg\_match\_all | 执行一个全局正则表达式匹配 | | preg\_replace\_callback\_array | 传入数组,执行一个正则表达式搜索和替换使用回调 | | preg\_replace\_callback | 执行一个正则表达式搜索并且使用一个回调进行替换 | | preg\_replace | 执行一个正则表达式的搜索和替换 | | preg\_split | 通过一个正则表达式分隔字符串 | 大家针对这这些函数,对着手册用一下。有问题或遇到问题可以来我们的官网提问。 ###正则关于面试常遇到的问题 面试中经常考到的几个正则达达示是: 1. 匹配邮箱 2. 匹配手机号 3. 匹配一个网址 4. 用正则匹配某个格式,取出某个个例 5. 写一个采集器 其他.... 面试的第4题和第5题我对大家不担心,因为只要大家认真学习了我给的前五节的内容。第4,5题推理就行。 > 因为,通常在技术答题面试环节,是时候准许查手机的! ###常用正则表达示 下面的是快速查找的正则表达示,大家一定得知道具体意思。 需要的时候直接复制即可: