Php 我无法工作的简单preg_replace()(我在正则表达式方面很差劲)

Php 我无法工作的简单preg_replace()(我在正则表达式方面很差劲),php,mysql,regex,Php,Mysql,Regex,我想做的可能很明显,但我对正则表达式很糟糕 我需要将SELECT和FROM之间的任何内容替换为COUNT* 尝试使用.+、.+?、.*和...?看起来没问题。。。您的SQL是否包含换行符?如果是,则需要s修改器: $count_sql = preg_replace("/SELECT(.+?)FROM/", "SELECT COUNT(*) FROM", $sql); 你的正则表达式看起来很好-你能给出一个你试图匹配的字符串的例子吗? $count_sql = preg_replace("/SE

我想做的可能很明显,但我对正则表达式很糟糕

我需要将SELECT和FROM之间的任何内容替换为COUNT*


尝试使用.+、.+?、.*和...?

看起来没问题。。。您的SQL是否包含换行符?如果是,则需要s修改器:

$count_sql = preg_replace("/SELECT(.+?)FROM/", "SELECT COUNT(*) FROM", $sql);

你的正则表达式看起来很好-你能给出一个你试图匹配的字符串的例子吗?
$count_sql = preg_replace("/SELECT(.+?)FROM/s", "SELECT COUNT(*) FROM", $sql);