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