1.完成手机号所属运营商的判断
题目: 使用正则表达式匹配11位手机号,用于区分该手机号所归属的运行商,并显示(如:输入13621160211,则显示“移动)”。
代码如下:
<?php
//防乱码符
header("content-type:text/html;charset=utf-8");
//移动号段
$cmcc = array(134,135,136,137,138,139,147,150,151,152,157,158,159,178,182,183,184,187,188);
//联通号段
$cucc = array(130,131,132,145,155,156,171,175,176,185,186);
//电信号段
$ctcc = array(133,149,153,173,177,180,181,189);
//写入手机号
$mobile = '18513061209';
//$pattern='/^1(?:3[0-9]|5[012356789]|8[0256789]|7[0678])(\-?)\d{4}\1\d{4}$/';
$pattern = '#^(1\d{2})\d{8}#';
preg_match($pattern, $mobile,$res);
$prefix = $res[1];
if (in_array($prefix, $cmcc)){
echo "中国移动";
}
if(in_array($prefix, $cucc)){
echo "中国联通";
}
if(in_array($prefix, $ctcc)){
echo "中国电信";
}
?>
2.实现文本内部分词语的替换
题目:利用正则的相关知识,将一段文字内的部分内容替换。将此段文字内的“维”替换成“宇宙的奥秘”(文字见文档底部附)。
在这些网络的某些理论中,时空具有十维,而在另一些中,具有十一维。这使如下事实的又一个迹象,即时空以及它的维不是绝对的独立于理论的量,而只不过是一个导出概念,它依赖于特殊的数学模型而定。那么对我们而言,时空是显得四维的,而在M理论是十维或者十一维的,这是怎么回事呢?为什么我们不能观察到另外的六或七维呢?
这个问题的传统的,也是迄今仍被普遍接受的答案是,额外维全部被卷曲到一个小尺度的空间中,余下四维几乎是平坦的。它就像人的一根头发,如果你从远处看它,它就显得像是一维的线。但是如果你在放大镜下看它,你就看到了它的粗细,头发的的确确是三维的。在时空的情形下,足够高倍数的放大镜应能揭示出弯卷的额外维数,如果它存在的话。事实上,我们可以利用大型粒子加速器产生的粒子把空间探测到非常短的距离,比如在日内瓦建造的大型强子碰撞机。至少,迄今我们还没有探测到超出四维的额外维的证据。如果这个图象是正确的,那么额外维就会被卷曲到比1厘米的一百亿亿分之一还小。
代码如下:
<?php
//防乱码符
header("content-type:text/html;charset=utf8");
$str="在这些网络的某些理论中,时空具有十维,而在另一些中,具有十一维。这使如下事实的又一个迹象,即时空以及它的维不是绝对的独立于理论的量,而只不过是一个导出概念,它依赖于特殊的数学模型而定。那么对我们而言,时空是显得四维的,而在M理论是十维或者十一维的,这是怎么回事呢?为什么我们不能观察到另外的六或七维呢?
这个问题的传统的,也是迄今仍被普遍接受的答案是,额外维全部被卷曲到一个小尺度的空间中,余下四维几乎是平坦的。它就像人的一根头发,如果你从远处看它,它就显得像是一维的线。但是如果你在放大镜下看它,你就看到了它的粗细,头发的的确确是三维的。在时空的情形下,足够高倍数的放大镜应能揭示出弯卷的额外维数,如果它存在的话。事实上,我们可以利用大型粒子加速器产生的粒子把空间探测到非常短的距离,比如在日内瓦建造的大型强子碰撞机。至少,迄今我们还没有探测到超出四维的额外维的证据。如果这个图象是正确的,那么额外维就会被卷曲到比1厘米的一百亿亿分之一还小。";
$str1="宇宙的奥秘";
$str2="/维/";
$a=preg_replace($str2,$str1,$str);
echo $a;
?>