php面试专题---6、正则表达式考点
2024-08-30 02:07:36
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的值
二、内容在总结中
最新文章
- HDFS中JAVA API的使用
- jboss developers studio 快速创建 spring mvc 项目
- MongoDB基本操作命令
- 什么是智能dns解析
- webdriver(python)学习笔记二
- work6
- javascript笔记——点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数
- 【HDOJ】2579 Dating with girls(2)
- javascript 字符串滚动显示
- vc获取时间戳
- Notepad++ 使用探索
- 项目Alpha冲刺(团队)-代码规范、冲刺任务与计划
- nodemanager 无法启动报错“doesn&#39;t satisfy minimum allocations”
- jvm详情——5、选择合适的垃圾收集算法
- 在.net core 中PetaPoco结合EntityFrameworkCore使用codefirst方法进行开发
- RHEL7恢复root密码
- Logstash安装和使用
- python 全栈开发,Day64(视图,触发器,函数,存储过程,事务)
- ASP.NET 简介
- Mac Apache Maven 配置