我用一组字符分割字符串作为
$str = 'a-1 90 b55 0 -4 4 c9';
$array = preg_split('#(?<=[abc])#',$str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
它将前一个元素中的分隔符保留为(演示(
Array
(
[0] => a
[1] => -1 90 b
[2] => 55 0 -4 4 c
[3] => 9
)
但我想把它作为保存在下一个项目中
Array
(
[0] => a-1 90
[1] => b55 0 -4 4
[2] => c9
)
使用先行而非后向:
$str = 'a-1 90 b55 0 -4 4 c9';
$array = preg_split('#(?=[abc])#',$str, -1, PREG_SPLIT_NO_EMPTY);
print_r($array);
由于您在正则表达式中没有使用任何捕获组,因此不需要使用PREG_SPLIT_DELIM_CAPTURE
标志。
代码演示