正则按"|"分割字符串,遇到"\|"不分割 $data = 'This|isthe|cont\|ent';$result = array( 'This', 'isthe', 'cont\|ent',);有上面一段字符串$data,要分割结果为$result, 就是遇到"|"就分割,如果"|"被转义了,即"\|",就不分割,该怎么写正则呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $data = 'This|isthe|cont\|ent'; preg_match_all("/\w+[\\\][\|]\w+|\w+/",$data,$array); var_dump($array); /[\dA-Za-z]{1}\|{1}/中括号里的范围,只有不是\\就行了。 怎么啦?没问题呀?你的程序咋写的?$data = 'This|isthe|cont\|ent';var_dump($data);$result = preg_split( '/\|/', $data );var_dump($result);// 输出结果如下string 'This|isthe|cont\|ent' (length=20)array 0 => string 'This' (length=4) 1 => string 'isthe' (length=5) 2 => string 'cont\' (length=5) 3 => string 'ent' (length=3)————————————————————————————————基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :) $data = 'This|isthe|cont\|ent'; preg_match_all("/\w+[\\\][\|]\w+|\w+/",$data,$result); var_dump($result[0]);---------------结果:array(3) { [0]=> string(4) "This" [1]=> string(5) "isthe" [2]=> string(9) "cont\|ent" } $data = 'This|isthe|cont\|ent';$arr = preg_split('#(?<!\\\\)\|#', $data, -1, PREG_SPLIT_DELIM_CAPTURE);print_r($arr);/*Array( [0] => This [1] => isthe [2] => cont\|ent)*/ 谢谢3楼,我再做点了调整,其他字符也能识别出来,部分结果可能无效,但是重要信息都能提取到$data = '\|T中文his|is\rrrc%%$#^$&^the|cont\|entf中\文ewrwe|fdsf|fwe\werewr|rewrw\|erewr/|/wer|\\\\||R|EWR|WE|\\'; preg_match_all('/[^\|]+[\\\][\|][^\|]+|[^\|]+/',$data,$array); var_dump($array); 一直不太理解为什么用了smarty还要用memcache~~~~ 寻ECShop网站二次开发高手,有酬! 求编译好的curl.so mbstring.so PHP 求一个抽取链接的正则表达式 php linux ★★★如何把未确定的条件带入判断 网站提示【内容编码错误】,怎么解决呢? 远程管理MySQL用什么工具好,大家给推荐几款 它说找不到. dll模块,怎么回事? 多维数组求解 discuz论坛页面间数据传递不是用POST的?
$data = 'This|isthe|cont\|ent';
preg_match_all("/\w+[\\\][\|]\w+|\w+/",$data,$array);
var_dump($array);
中括号里的范围,只有不是\\就行了。
$data = 'This|isthe|cont\|ent';
var_dump($data);
$result = preg_split( '/\|/', $data );
var_dump($result);// 输出结果如下
string 'This|isthe|cont\|ent' (length=20)
array
0 => string 'This' (length=4)
1 => string 'isthe' (length=5)
2 => string 'cont\' (length=5)
3 => string 'ent' (length=3)
————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
$data = 'This|isthe|cont\|ent';
preg_match_all("/\w+[\\\][\|]\w+|\w+/",$data,$result);
var_dump($result[0]);
---------------结果:
array(3)
{ [0]=> string(4) "This" [1]=> string(5) "isthe" [2]=> string(9) "cont\|ent" }
$data = 'This|isthe|cont\|ent';
$arr = preg_split('#(?<!\\\\)\|#', $data, -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($arr);
/*
Array
(
[0] => This
[1] => isthe
[2] => cont\|ent
)
*/
preg_match_all('/[^\|]+[\\\][\|][^\|]+|[^\|]+/',$data,$array);
var_dump($array);