首页 > 解决方案 > 使用relugar表达式提取PHP中SQL聚合表达式的内容

问题描述

我想在 PHP 中的 SQL 查询表达式的 SUM、AVG、COUNT 等函数中提取内容。例如SUM(A+B)->A+BSUM(SUM(A))->SUM(A)A

我使用了一个preg_match_all带有正则表达式的函数,如下所示:

#(SUM|sum|AVG|avg|MIN|min|MAX|max|COUNT|count)\((.*?)\)#

它适用于单个功能,例如SUM(A),但不适用于多功能情况SUM(SUM(A))。结果SUM(SUM(A))SUM(A。看起来preg_match_all只识别第一个),然后跳过其他)

有什么方法或任何功能可以帮助我在多功能情况下提取功能的内容吗?

标签: phpregexrecursionpreg-match-all

解决方案


推荐阅读