php - 使用relugar表达式提取PHP中SQL聚合表达式的内容
问题描述
我想在 PHP 中的 SQL 查询表达式的 SUM、AVG、COUNT 等函数中提取内容。例如SUM(A+B)
->A+B
或SUM(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
只识别第一个)
,然后跳过其他)
。
有什么方法或任何功能可以帮助我在多功能情况下提取功能的内容吗?
解决方案
推荐阅读
- shell - 我使用嵌套的 while 循环编写了一个简单的 shell 脚本,但是我在尝试减少“b”值并增加“a”值时遇到错误
- javascript - JavaScript v8 优化编译器 | 单态,多态?
- java - Dynamo DB ORM 与 Spring Data DynamoDB 的映射
- python - 如何比较两个音频文件并获得相似度百分比?
- angular - 在 ng-bootstrap 中隐藏工具提示后需要单击两次
- javascript - 尝试使用 JavaScript 获取用户输入时收到“无效日期”
- postgresql - 使用参数名称时,StoredProcedureQuery 类中 registerStoredProcedureParameter 的顺序是否重要?
- python - 在两个不同列表的元素之间计算重函数的最快方法
- swift - Xcode 13 错误:输入文件 [...] 在构建期间被修改
- java - 运行使用 Java 11 编译的 Java 8 项目时,Maven MyBatis 测试失败