php正则表达式如何匹配在竖线之间的文字或者字符

我相匹配 Z10004|王|億达峰|52|66| 这个字符串的|中间的那些字串或者文字

$s = 'Z10004|王|億达峰|52|66|'; //假定为 utf-8 编码,否则需要转码
preg_match_all('/(?<=|)\w+(?<!$)/u', $s, $m);

解决掉了,我是先将这个字符串转换成utf-8的编码,然后将里面的‘|’替换成其他的字符(如‘,’),然后在用explode函数就不会出错了

(?<=|).*?(?=|)

这个应该非常简单吧的正则吧,不要搞那么复杂吧,怎么都搞那么复杂