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 = '<b>abc</b>';

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

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


Paste_Image.png

贪婪模式
$str = '<b>abd</b><b>bcd</b>';

$pattern = '/<b>.* </b>/';

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

这是因为是贪婪的。


Paste_Image.png

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


第二种方式


.*? 和U 不能同时用

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

一般不会考

Paste_Image.png
Paste_Image.png
Paste_Image.png

$match 是匹配到的内容。

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

Paste_Image.png

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

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

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

$str = '

';

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

Paste_Image.png

$str = '

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

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

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 对于正则,著称火星文字,见名知意主要它晦涩难懂,一直以来,看到它总是怕怕的,在平时,也只是简单的用用,其主要...
    itclanCoder阅读 813评论 0 2
  • 9.19--9.23 第7章 正则表达式 正则表达式是一个拆分字符串并查询相关信息的过程。 推荐练习网站: js ...
    如201608阅读 1,071评论 0 4
  • 一、字符串操作 PHP开发中,我们遇到最多的可能就是字符串。 一个字符串 通过下面的3种方法来定义: 1、单引号 ...
    空谷悠阅读 782评论 1 6
  • 正则表达式是对字符串进行操作的一种逻辑公式,就是用一些特定的字符组合成一个规则字符串,称之为正则匹配模式。 其中字...
    敬业福阅读 629评论 0 1
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,069评论 0 20