2.8正则表达式考察点

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

思考
手机号码的正则表达式的编写
延伸正则表达式的组成及编写方法

正则表达式的作用:分割、查找、匹配、替换字符串

分隔符:正斜线(/)、hash符号(#)以及取反符号(~)

通用原子:\d \D \w \W \s \S

元字符: . * ? ^ $ + {n} {n,m} [] () [^] | [-]

模式修正符: i m e s U x A D u

i 不区分大小写
m 将我们字符串的每一行去进行匹配,,前提是你们那里面有换行。
e 是我们进行replace里面的语句,去进行一个PHP语句的处理。

s 是修正 点的换行
U是取消。。。
x 忽略我们模式中的

A

D
u

后向引用
贪婪模式

后向引用
$str = 'abc';

$pattern = '.*';
//去除掉
preg_replace($pattern,'\1',$str);

\1替换的就是第一个括号的里面的东西,只要第一个括号里面的东西


2.8正则表达式考察点_第1张图片
Paste_Image.png

贪婪模式
$str = 'abdbcd';

$pattern = '/.* /';

preg_replace_all($pattern,'\1',$str);

这是因为是贪婪的。


2.8正则表达式考察点_第2张图片
Paste_Image.png

.*? 这就是取消贪婪模式。


2.8正则表达式考察点_第3张图片

第二种方式


2.8正则表达式考察点_第4张图片

.*? 和U 不能同时用

正则表达式里面的PCRE函数
preg_match() preg_match_all() preg_replace(0 preg_split()

一般不会考

2.8正则表达式考察点_第5张图片
Paste_Image.png
2.8正则表达式考察点_第6张图片
Paste_Image.png
2.8正则表达式考察点_第7张图片
Paste_Image.png

$match 是匹配到的内容。

会匹配到 “中文”
如果没有+ 只会匹配到 “中”

2.8正则表达式考察点_第8张图片
Paste_Image.png

先写出一个要匹配的字符串
自左向右的顺序使用正则表达式的院子和元字符进行拼接
最终加入模式修正符
不要死记硬背模式

//139 8888 8888
//
$str = '13988888888';
$pattern = '/^139\d{8}$/';
preg_match($pattern,$str,$match);

一网打尽
请写一个正则表达式,匹配页面中所有img标签中的src值。

$str = '

';

$pattern = '/?src=".*?".?/?>/i';
preg_match($pattern,$str,$match);

Paste_Image.png

$str = '

';
$pattern = '/?src="(.*?)".?/?>/i';
preg_match($pattern,$str,$match);

加上一个()之后,就是后向引用。。。会取出src的值

Paste_Image.png

你可能感兴趣的:(2.8正则表达式考察点)