我要匹配字符串:
test.test ? type == one:prop two:prop
使用正则表达式可获得以下结果:
0 => test.test, 1 => type, 2 => ==, 3 => [[ 0 => one, 1 => prop], [ 0 => two, 1 => prop], ...]
目前,在PHP 7.3中,我只获得了preg_match的最后一个匹配项,而不是带有以下正则表达式的重复组的所有匹配项:
([\.a-z]+)\s\?\s([a-z]+)\s(==|!=)\s?(([a-z]+):([\.a-z]+)\s?)+
检出测试仪:https://regex101.com/r/uvATDW/1
我该如何调整我的正则表达式以达到期望的结果?
我需要此正则表达式作为检索语法的一部分:
考虑数组
[ test => [ test => [ type => one, prop => value1, proptwo => value2]]]
使用test.test ? type == one:prop two:proptwo
的正则表达式结果,我得到了取决于test.test.prop
的值的数组路径type
。通过此路径,我可以检索value1
。