$s=preg_replace('/SELECT\s+(DISTINCT\s+)?(\S+)(\s+AS\s+\S+)?/','SELECT count(\\2) AS c',$s);请教一下高人/SELECT\s+(DISTINCT\s+)?(\S+)(\s+AS\s+\S+)?/和SELECT count(\\2) AS c解析的是什么sql语句?
$s=preg_replace('/SELECT\s+(DISTINCT\s+)?(\S+)(\s+AS\s+\S+)?/','SELECT count(\\2) AS c',$s);请教一下高人/SELECT\s+(DISTINCT\s+)?(\S+)(\s+AS\s+\S+)?/和SELECT count(\\2) AS c解析的是什么sql语句?
echo "区分大小写\n";
$s="select field from table";
echo $s."\n";
$s=preg_replace('/SELECT\s+(DISTINCT\s+)?(\S+)(\s+AS\s+\S+)?/','SELECT count(\\2) AS c',$s);
echo $s."\n\n";echo "不区分大小写\n";
$s="select field from table";
echo $s."\n";
$s=preg_replace('/SELECT\s+(DISTINCT\s+)?(\S+)(\s+AS\s+\S+)?/i','SELECT count(\\2) AS c',$s);
echo $s."\n\n";echo "不区分大小写并且包含了distinct和指定别名\n";
$s="select distinct field as xxxx from table";
echo $s."\n";
$s=preg_replace('/SELECT\s+(DISTINCT\s+)?(\S+)(\s+AS\s+\S+)?/i','SELECT count(\\2) AS c',$s);
echo $s;
SELECT DISTINCT 非空字符(字段名或别的) AS 非空字符(别名)
倾斜的是可有可无。另外,在你写的情况下,SELECT count(\\2) AS c,这个不是正则。
请问showbo,我给的那个是区分大小写吧