宗小宗-PHP程序猿

欢迎各位朋友前来,如果我的文章中有不对的地方,还望指正;如需转载,请注明原处

PHP正则表达式试题

1.POSIX正则表达式扩展在PHP哪个版本被废弃了

2.请写出匹配任意数字,任意空白字符,任意单词字符的符号?

3.执行一个正则表达式匹配的函数是什么?返回的结果有哪些?

4.执行一个全局正则表达式匹配的函数是什么?

5.执行一个正则表达式的搜索和替换的函数是什么?

6.通过一个正则表达式分隔字符串的函数是什么?

7.返回匹配模式的数组条目的函数是什么?

8.写出一个邮箱匹配规则?

9.写出一个国内电话和手机的匹配规则,匹配的电话形式为?010-87898765,0798-8765342,0798-12345678,18607086789,+8613989765432

a.写出一个密码匹配规则,要求以字母开头,6-18位?

 

A.写一个函数,要求将传入的字符串使用逗号或空格(包含" ", \r, \t, \n, \f)分隔成数组

B.截取某个字符串中的MAC地址,然后匹配类似于这种:mac:0A:89:82:84:F4:09

 

 


 

1.PHP 5.3.0 开始

2.\d \s \w

3.preg_match($pattern,$subject [,&$matches]),返回结果0或1,因为preg_match()在第一次匹配后停止搜索

4.preg_match_all($pattern,$subject [,&$matches])

5.preg_replace($pattern,$replacement,$subject)

6.preg_split($pattern,$subject)

7.preg_grep($pattern,$array)

8.$pattern = '/^[a-z\d_-]+@[a-z\d]+.[a-z]{2,3}$/i'

9.$pattern = '/^(\+86)?1\d{10}|\d{3}-\d{8}|\d{4}-\d{7,8}$/'

a.$pattern = '/^[a-z]\w{5,17}$/i'

 

A

<?php
function split($string){
    return preg_split("/[\s,]+/", $string);
}

 

 

B

<?php
function replace($string){
    return preg_replace("/.*(([a-z\d]{2}:){5}[a-z\d]{2}).*/i","mac:$1",$string);
}
$string = "Link encap:Ethernet  HWaddr 00:16:3E:00:6E:363eefrrr";
var_dump(replace($string));
//mac:00:16:3E:00:6E:36

 

posted @ 2016-08-19 16:13  宗小宗  阅读(1964)  评论(0编辑  收藏  举报