2 shangshanruosui shangshanruosui 于 2014.11.19 13:24 提问

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

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

7个回答

xuzuning
xuzuning   Ds   Rxr 2014.11.19 13:44
已采纳

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

shangshanruosui
shangshanruosui 多谢啊,你的这种方法我刚刚试了一下,也可以,多谢多谢!!
3 年多之前 回复
shangshanruosui
shangshanruosui   2014.11.19 13:48

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

q107770540
q107770540   Ds   Rxr 2014.11.19 15:02

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

chinmo
chinmo   Rxr 2014.11.19 17:36

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

chinmo
chinmo   Rxr 2014.11.19 17:38

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

chinmo
chinmo   Rxr 2014.11.19 17:41

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

chinmo
chinmo   Rxr 2014.11.19 17:43

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!