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 = '高清无码';
$pattern = '//i';
preg_match($pattern, $str, $match);
var_dump($match);

|||-end

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

 

 

 

二、内容在总结中

 

 

 

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/11061009.html

你可能感兴趣的:(php面试专题---6、正则表达式考点)