微信扫一扫打赏支持

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

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

 

 

 

 

 

 

 

 

 

 
 
posted @ 2018-06-07 23:58  范仁义  阅读(882)  评论(0编辑  收藏  举报