正则高级技巧之三目运算

作者:enenba | 发表于:2012-02-27 00:59 | 分类:正则表达式

(?(expression)yes|no)这代表一个选择(三目运算符),如果 expression 在这里被搜索到的话就执行 yes 部分,否则就执行 no 部分。注意沒有空格!(?<=expression) – 这是说在现在位置的左边有 expression。

例如:檢測字串中數位爲 “0.1”-“9.9”

答案﹕^[0-9]\.(?(?<=0\.)[1-9]|[0-9])$


<?php
$str = '1.0';
$search = '/^[0-9]\.(?(?<=0\.)[1-9]|[0-9])$/';
preg_match($search,$str,$r);
if($r) {
	echo 'OK';
}else {
	echo 'NO';
}
?>

还有一个例子也是用到三目运算正则http://enenba.com/caiji/99.html

上一篇: PHP采集链接,相对链接转为绝对链接   |   下一篇:获取<a>链接标签。从Snoopy类中提取函数» 标签: PHP验证 正则 正则表达式教程 PHP正则

评论: