首页 > 解决方案 > 获取不在括号内的字符 REGEX

问题描述

我基本上正在研究自定义查询构建。我将模式设计为​​ field_set 和 sub_field_sets。示例查询:

({e:3}.{f:44}.{f:2}) + ( 
                   ({e:3}.{f:44}.{f:3}) + ({e:3}.{f:44}.{f:4}) 
                        ) - ({e:3}.{f:44}.{f:5})

我想使用 REGEX 从 root 获取所有运算符。在这种情况下应该导致 ['+', '-'] 而不是['+', '+', '-']

标签: phpregexregex-negationregex-groupregex-recursion

解决方案


这适用于给定的样本:

([+-])(?![^+)-]+\)\s*\))

推荐阅读