页次: 1
比如这种格式 ; 111222333444 , 222444, 666888
出现的都是数字, 每个数字循环三次。
示例代码:
$regex = '/(?:(\d)\1\1)+/'; echo $str="111222000"; echo "<hr>"; if(preg_match($regex, $str , $matches)) { var_dump($matches); } else { echo "error"; } echo $str = "1111000"; echo "<hr>"; if(preg_match($regex, $str , $matches)) { var_dump($matches); } else { echo "error"; }
输出结果
111222000array (size=2) 0 => string '111222000' (length=9) 1 => string '0' (length=1) 1111000array (size=2) 0 => string '111' (length=3) 1 => string '1' (length=1)
如何匹配
第一: 首先要使用 \d 匹配一个数字
第二: (\d)需要保存一下当前的匹配
第三:(\d)\1 用\1 表示重复一次括号里面的内容
第四:(\d)\1\1 表示同一个数字匹配三次
第五: (?:**) 表示不捕获**.
第六: (?:(\d)\1\1)+ 获取多个重复的三个相同的数字。
ipbbs.net
离线
页次: 1