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、正则使用

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

 

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);。