博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php正则及常用正则函数怎么用
阅读量:7078 次
发布时间:2019-06-28

本文共 2818 字,大约阅读时间需要 9 分钟。

php正则及常用正则函数怎么用

一、总结

一句话总结:

能够使用正则的函数:

preg_match();
preg_match_all();
preg_replace();
preg_grep();
preg_split();

 

1、php正则中原子是什么,有哪些?

解答:原子,就是那些整体咯。例如原子:        .        a-z        A-Z        0-9        [0-9]        [^0-9]        \d        \D        \w        \W        \s        \S。

2、php正则中的元字符是什么,有哪些?

解答:操作符。例如:元字符:        *   #0个、1个或多个        +   #1个或多个        ?   #0个或1个        |   #或        \b  #词边界        \B  #非词边界        {3}  #3个        {3,7} #3个到7个        {3,}  #3个以上        ^   #以什么开始        $   #以什么结尾       。

3、php正则中 的单词边界元字符怎么使用?

解答:\b单词\b,$ptn='/\b\d\b/';。

4、php正则调用反向引用的两种方式?

解答:$符号和反斜杠。向后引用:        (abc)        $1        \\1。$str="2014-10-20";                $ptn='/(\d+)-(\d+)-(\d+)/';        $rep='$1/$2=$3';        $rep='\\1/\\2=\\3';。

5、php正则中的模式修正符中的U怎么用?

解答:U #贪婪模式(最小化匹配)。$str="php 5 a777nd and 6666 and 8888888";                $ptn='/\d{3,7}/U';        preg_match_all($ptn,$str,$mt);。

6、php正则模式修正符中的m怎么用?

解答:匹配多行。$str="linux is very much php\nLINUX is very much PHP";                $ptn='/^linux/im';。

7、php正则中的preg_replace();函数的使用场景?

解答:可和反向引用一起使用。引用替换。$str="2014-10-20";                $ptn='/(\d+)-(\d+)-(\d+)/';        $rep='$1/$2=$3';                echo preg_replace($ptn,$rep,$str);。

8、php正则中的preg_grep();函数的使用场景?

解答:preg_grep在数组中搜索包含指定值的元素。$arr=array(            'linux is very much!',            'php is very much!',            'java is very much!',            'html5 is very much!',        );                $arr=preg_grep('/linux|php|java|html5/',$arr); 。

9、php正则preg_split();函数的使用场景?

解答:多个不同符号分割。$str="2014-10=20+30/50";                $arr=preg_split('/-|=|\+|\//',$str);。

 

 

 

二、php正则及常用正则函数怎么用

1、正则使用

 

2、学习笔记

正则表达式:

1.原子
2.元子符
3.模式修正符

1、原子:

.

a-z
A-Z
0-9
[0-9]
[^0-9]
\d
\D
\w
\W
\s
\S

2、元字符:

* #0个、1个或多个

+ #1个或多个
? #0个或1个
| #或
\b #词边界
\B #非词边界
{3} #3个
{3,7} #3个到7个
{3,} #3个以上
^ #以什么开始
$ #以什么结尾

3、向后引用:

(abc)

$1
\\1

4、模式修正符:

i #忽略大小写

U #贪婪模式(最小化匹配)
m #把\n视为多行

5、能够使用正则的函数:

preg_match();

preg_match_all();
preg_replace();
preg_grep();
preg_split();

6、正则使用场景:

1.手机格式

/^\d{11}$/

2.邮箱格式

/^\w+@\w+\.\w$/

3.139开头的手机格式

/^139\d{8}$/

4.QQ号格式

/^\d{6,11}$/

 

 

三、测试题-简答题

1、php正则中原子是什么,有哪些?

解答:原子,就是那些整体咯。例如原子:        .        a-z        A-Z        0-9        [0-9]        [^0-9]        \d        \D        \w        \W        \s        \S。

2、php正则中的元字符是什么,有哪些?

解答:操作符。例如:元字符:        *   #0个、1个或多个        +   #1个或多个        ?   #0个或1个        |   #或        \b  #词边界        \B  #非词边界        {3}  #3个        {3,7} #3个到7个        {3,}  #3个以上        ^   #以什么开始        $   #以什么结尾       。

3、php正则中 的单词边界元字符怎么使用?

解答:\b单词\b,$ptn='/\b\d\b/';。

4、php正则调用反向引用的两种方式?

解答:$符号和反斜杠。向后引用:        (abc)        $1        \\1。$str="2014-10-20";                $ptn='/(\d+)-(\d+)-(\d+)/';        $rep='$1/$2=$3';        $rep='\\1/\\2=\\3';。

5、php正则中的模式修正符中的U怎么用?

解答:U #贪婪模式(最小化匹配)。$str="php 5 a777nd and 6666 and 8888888";                $ptn='/\d{3,7}/U';        preg_match_all($ptn,$str,$mt);。

6、php正则模式修正符中的m怎么用?

解答:匹配多行。$str="linux is very much php\nLINUX is very much PHP";                $ptn='/^linux/im';。

7、php正则中的preg_replace();函数的使用场景?

解答:可和反向引用一起使用。引用替换。$str="2014-10-20";                $ptn='/(\d+)-(\d+)-(\d+)/';        $rep='$1/$2=$3';                echo preg_replace($ptn,$rep,$str);。

8、php正则中的preg_grep();函数的使用场景?

解答:preg_grep在数组中搜索包含指定值的元素。$arr=array(            'linux is very much!',            'php is very much!',            'java is very much!',            'html5 is very much!',        );                $arr=preg_grep('/linux|php|java|html5/',$arr); 。

9、php正则preg_split();函数的使用场景?

解答:多个不同符号分割。$str="2014-10=20+30/50";                $arr=preg_split('/-|=|\+|\//',$str);。

 

 

 

 

 

 

 

 

 

 
 

转载地址:http://mlpml.baihongyu.com/

你可能感兴趣的文章
SQLServer获取临时表列名并判断指定列名是否存在
查看>>
4827 妹子[快速乘法]
查看>>
Ubuntu的一些使用记录
查看>>
DataBase Connection Failed的一点解决办法(PHP项目)
查看>>
SilverLight控件之ContextMenu和RadContextMenu(菜单)
查看>>
css3背景颜色渐变属性 兼容性测试基础环境为:windows系统;IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+...
查看>>
word怎么删除空白页
查看>>
2017 计蒜之道 初赛 第五场 A. UCloud 机房的网络搭建
查看>>
探索SpringBoot中的SpringMVC
查看>>
memcpy的用法总结
查看>>
HDU 4027 Can you answer these queries?
查看>>
jq购物车结算功能
查看>>
leetcode725
查看>>
Android WebRTC 音视频开发总结(三)-- 信令服务和媒体服务
查看>>
EntityFramework IEnumerable,IQueryable ,Include
查看>>
memtrack: Couldn't load memtrack module (No such file or directory) 的问题解决
查看>>
Visio画图(一):UML用例图
查看>>
Docker入门(五):Swarms
查看>>
盘点:#AzureChat - 虚拟机和自动伸缩
查看>>
【PHP设计模式 04_GongChang.php】 工厂方法
查看>>