求一个php正则表达式将字符串之间的部分替换成其他

求一个正则表达式,用来替换字符串

$str = 'SELECT userid, username FROM t WHERE user_lock=1';

将SELECT和FROM之间的部分替换成COUNT(*)

$newstr = 'SELECT COUNT(*) FROM t WHERE user_lock=1';

SELECT和FROM可能是大写或小写

userid, username不固定也可能是其他的字符串

$str = 'SELECT id,other FROM t WHERE user_lock=1';

阅读 2k
3 个回答

我JS这么写的,你替换一下吧,
正则部分为

/SELECT|select.*?FROM|from/
"SELECT id,other from t WHERE user_lock=1".replace(/SELECT|select.*?FROM|from/,"SELECT COUNT(*) FROM")

image.png
正则玩的不是特别好。不过用了个笨方法。
image.png

有更加完善的正则吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题