拆分各种分隔符,同时保留分隔符?

Moa*_*oak 2 php regex split cjk

我想分开一个文字
????????????????????????????????

使用这三个(或更多)?!.字符作为分隔符.我当然可以这样做
$lines = preg_split('/[?,?,?]/u',$body);

但是我不想让结果行保持结束分隔符.句子也可能这样结束????或者结束?????????

Ala*_*ore 5

试试这个:

$lines = preg_split('/(?<=[???])(?![???])/u',$body);
Run Code Online (Sandbox Code Playgroud)

它分割在一个前面有一个分隔符但不跟一个分隔符的位置.它不使用分隔符,如果有两个或多个连续分隔符,它只匹配最后一个分隔符.