前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php面试笔记(6)-php基础知识-正则表达式考点

php面试笔记(6)-php基础知识-正则表达式考点

作者头像
学长冷月
发布2020-08-02 16:12:54
3450
发布2020-08-02 16:12:54
举报

php基础知识-正则表达式考点

在面试中,考官往往喜欢基础扎实的面试者,而正则表达式相关的考点,往往是大家容易忽视的一个点,今天冷月就来帮各位小伙伴们梳理一下,在面试中正则表达式相关的注意点。

01

回顾真题

至少写出一种验证139开头的11位手机号码的正则表达式

答案: /^139\d{8}$/

02

考点分析

很明显,面试官主要想考察大家对于正则表达式组成及编写方法的了解程度。继而衍生出正则表达式的作用:

  1. 分割 分隔符(定界符),主要是正斜线(/),表示一个正则表达式的开始和结束
  2. 查找 通用原子 \d :十进制0-9 \D :除了十进制0-9 \w:数字、字母、下划线 \W:除了数字、字母、下划线 \s:空白符(换行、空格、回车) \S:除了空白符(换行、空格、回车) 元字符模式修正符 U:懒惰模式 u:贪婪模式 i:忽略英文字母大小写 x:忽略空白 s:让元字符“.”匹配包括换行符在内所有字符 e:配合函数 preg_replace() 使用,可以把匹配来的字符串当作正则表达式执行
  3. 匹配preg_match() //匹配一个 preg_match_all()// 匹配所有
  4. 替换 preg_replace() preg_filler()

后向引用:在后面的表达式中,引用前面某个分组所匹配到的内容

<?php /** * Created by 冷月小白. * 微信公众号: 学长冷月 */ $str = '<b>abc</b>';

$pattern = '/<b>(.*)<\/b>/'; //一定要用括号

$res = preg_replace($pattern,'\1',$str); //将第一个匹配到的数据放入数组

var_dump($res); //string(3) "abc"

贪婪模式:

<?php /** * Created by 冷月小白. * 微信公众号: 学长冷月 */ $str = '<b>abc</b><b>bcd</b>';

$pattern = '/<b>(.*?)<\/b>/u'; //贪婪模式

$res = preg_replace($pattern,'\1',$str); //将第一个匹配到的数据放入数组

var_dump($res); //string(3) "abc"

中文匹配 UTF-8汉字编码范围:0x4e00-0x9fa5

03

一网打尽

在学习了本博文之后,冷月来测试一下大家对于知识的掌握程度。请看下面这道题:

请写出一个正则表达式,取出页面中所有的img标签中的src值

答案:

<?php /** * Created by 冷月小白. * 微信公众号: 学长冷月 */ $str = '<img alt="" id="" src="xxx.jpg" />'; $pattern = '/<img.*?src="(.*?)".*?\/?>/i'; preg_match($pattern,$str,$a); var_dump($a);//string(7) "xxx.jpg"

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 学长冷月 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档