【发布时间】:2014-07-03 20:06:50
【问题描述】:
我正在尝试explode / preg_split 一个字符串,以便获得包含在( ) 中的所有值的数组。我试过下面的代码,但我总是得到一个空数组,我尝试了很多东西,但我似乎做错了
谁能发现我缺少什么来获得我想要的输出?
$pattern = "/^\(.*\)$/";
$string = "(y3,x3),(r4,t4)";
$output = preg_split($pattern, $string);
print_r($output);
电流输出Array ( [0] => [1] => )
期望的输出Array ( [0] => "(y3,x3)," [1] => "(r4,t4)" )
【问题讨论】:
-
在您的情况下是否有必要在您的正则表达式中包含 ^ 和 $?我尝试使用 Ungreedy 组捕获您的正则表达式的版本.. 看看这里regex101.com/r/fL6pN5/1
-
你必须使用
preg_match_all,而不是preg_split -
@Jonathan Thurft 值得一提的是,lookbehind 和lookahead 的使用会影响性能。对于 js 性能测试,您可以检查它here
标签: php regex preg-split