切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
步步精通正则表达式第四课:正则表达式---重复匹配[复制链接]
发表于 2013-5-20 23:06:52 | 显示全部楼层 |!read_mode!



<?php
$str = <<<str
        <html>
        <body>
                <h1>3G-SecTeam--->[url=http://www.3g-sec.com/</h1>]http://www.3g-sec.com/</h1>[/url]
                <h2>3G-SecTeam--->[url=http://www.sina.com/</h2>]http://www.sina.com/</h2>[/url]
                <h1>3G-SecTeam--->[url=http://www.baidu.com/</h1>]http://www.baidu.com/</h1>[/url]
                <h2>3G-SecTeam--->[url=http://www.taobao.net/</h2>]http://www.taobao.net/</h2>[/url]
        </body>
        </html
str;
$preg = '/\.(\w*)\./';//\w匹配结果为空,\w*可全部匹配,因为*代表零个或多个
preg_match_all($preg,$str,$arr,PREG_SET_ORDER);
echo "<pre>";
print_r($arr);
echo "</pre>";

/****
Array
(
    [0] => Array
        (
            [0] => .sina.
            [1] => sina
        )

    [1] => Array
        (
            [0] => .baidu.
            [1] => baidu
        )

    [2] => Array
        (
            [0] => .taobao.
            [1] => taobao
        )

)
****/


//重复匹配2
$preg='/3+/';
try{
        if( preg_match($preg,$str,$arr) ){
                echo "<pre>";
                print_r($arr);
                echo "</pre>";
        }else{
                throw new Exception('匹配失败');
        }
} catch (Exception $e){
        echo $e->getMessage();
}

//验证邮箱
$email = 'root.admin@psacms.com';
$preg  = '/^(\w+)(\.\w+)*@(\w+)\.(com|net|cc|info|so|org)$/';
if(preg_match($preg,$email,$arr)){
        var_dump($arr[0]);//string(20) "rootadmin@psacms.com"
}else{
        echo '匹配失败';
}


//验证是否为一个整数-222  666
$str = '-99888';
$preg='/^-?\d+$/';
if(preg_match($preg,$str,$arr)){
        echo $arr[0];//-99888
}
?>




该贴已经同步到 抚菊深思的微博
附件: 你需要登录才可以下载或查看附件。没有帐号?加入Team
操千曲而后晓声,观千剑而后识器。

代码区

GMT+8, 2019-11-21 22:37

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部