猫了个咪哟!!正则表达式真难学!!!苦涩难懂啊!!!
$str="~2012-3-1+2012-12-31+14200++";$flag=ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $v, $regs);与
$flag=ereg("~([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $v, $regs);
这么写并没区别啊,同样都会返回 flag 是正数,为什么会没区别啊? $flag=ereg("~([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\+$", $v, $regs);这么写为啥又不能返回 flag 为正值啊?
$str="~2012-3-1+2012-12-31+14200++";$flag=ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $v, $regs);与
$flag=ereg("~([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $v, $regs);
这么写并没区别啊,同样都会返回 flag 是正数,为什么会没区别啊? $flag=ereg("~([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\+$", $v, $regs);这么写为啥又不能返回 flag 为正值啊?
$arr=array();$flag=ereg($p3, $str, $regs);if($flag)
echo "$regs[1]-$regs[2]-$regs[3]";
else
echo 'fuck';
只有 $p3 可以!! 其他都不行!
注意字符串"和'的区别,php解释器自身会做一次转义, 而你的目的是让正则库看到你的转义, 自己思考一下.
echo "$regs[1]-$regs[2]-$regs[3]";
else
echo 'fuck';这里你如果用 $p4 输出就是 fuck