php面试专题---6、正则表达式考点

一、总结

一句话总结:

正则匹配步骤:1、先写出一个要匹配的字符串;2、自左向右的顺序使用正则表达式的原子和元字符进行拼接;3、最终加入模式修正符;

1、写出一种验证139开头的11位手机号码的正则表达式,写正则表达式步骤?

1、先写出一个要匹配的字符串
2、自左向右的顺序使用正则表达式的原子和元字符进行拼接
3、最终加入模式修正符
4、$pattern = '/^139\d{8}$/';
<?php
// 请写出以139开头的11位手机号码的正则表达式
// 13988888888
$str = '13888888888';
$pattern = '/^139\d{8}$/';
preg_match($pattern, $str, $match);
var_dump($match);

2、正则表达式的作用?

分割、查找、匹配、替换字符串

3、正则表达式基本元素?

分隔符:正斜线(/)、hash符号(#)以及取反符号(~)
通用原子:\d、\D、\w、\W、\s、\S
元字符:
模式修正符:i m e s U x A D u

4、正则需要注意的知识点?

后向引用:括号括起来
贪婪模式:?取消贪婪模式

5、中文正则匹配注意?

中文匹配:UTF-8汉字编码范围是0x4e00-0x9fa5,在ANSI(gb2312)环境下,0xb0-0xf7,0xa1-0xfe
UTF-8要使用u模式修正符使模式字符串被当成UTF-8,在ANSI(gb2312)环境下,要使用chr将Asci码转换为字符

6、php中中文正则匹配实例?

|||-begin

<?php
$str = '中文';
//$pattern = '/[\x{4e00}-\x{9fa5}]/u'; //utf-8
//$pattern = '/['.chr(0xb0).'-'.chr(0xf7).']['.chr(0xa1).'-'.chr(0xfe).']/'; //gb2312
preg_match($pattern, $str, $match);
var_dump($match);

|||-end

$pattern = '/[\x{4e00}-\x{9fa5}]/u'; //utf-8
$pattern = '/['.chr(0xb0).'-'.chr(0xf7).']['.chr(0xa1).'-'.chr(0xfe).']/'; //gb2312

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

|||-begin

<?php
// 请匹配所有img标签中的src的值
$str = '<img alt="高清无码" id="av" src="av.jpg" />';
$pattern = '/<img.*?src="(.*?)".*?\/?>/i';
preg_match($pattern, $str, $match);
var_dump($match);

|||-end

$pattern = '/<img.*?src="(.*?)".*?\/?>/i';
注意这个括号(.*?)后向引用:可以拿到src的值

二、内容在总结中

 

最新文章

  1. HDFS中JAVA API的使用
  2. jboss developers studio 快速创建 spring mvc 项目
  3. MongoDB基本操作命令
  4. 什么是智能dns解析
  5. webdriver(python)学习笔记二
  6. work6
  7. javascript笔记——点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数
  8. 【HDOJ】2579 Dating with girls(2)
  9. javascript 字符串滚动显示
  10. vc获取时间戳
  11. Notepad++ 使用探索
  12. 项目Alpha冲刺(团队)-代码规范、冲刺任务与计划
  13. nodemanager 无法启动报错“doesn&#39;t satisfy minimum allocations”
  14. jvm详情——5、选择合适的垃圾收集算法
  15. 在.net core 中PetaPoco结合EntityFrameworkCore使用codefirst方法进行开发
  16. RHEL7恢复root密码
  17. Logstash安装和使用
  18. python 全栈开发,Day64(视图,触发器,函数,存储过程,事务)
  19. ASP.NET 简介
  20. Mac Apache Maven 配置

热门文章

  1. xmake 描述语法和作用域详解
  2. jmeter 非GUI执行测试,没有响应数据保存到jtl文件办法
  3. 虚拟机环境搭建/修改VMware虚拟机固定IP
  4. SpringCloud-Eureka-Provider&amp;Consumer
  5. 函数异步模拟实现ajax
  6. 负载均衡算法WeightedRoundRobin(加权轮询)简介及算法实现
  7. ERROR- 开发常见error
  8. spring整合消息队列rabbitmq
  9. ARC096E Everything on It 容斥原理
  10. hdu 4235 容斥原理模板题