php面试专题---6、正则表达式考点
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的值
二、内容在总结中
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-09-05:27岁,宅加太忙,特此在网上找女朋友,vx:fan404006308
AI交流资料群:753014672