正则按"|"分割字符串,遇到"\|"不分割 $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); php导出大数据量excel PHP开源系统安装时侯的那种滚动提示框是如何实现的啊? ***请问现在的mysql到底支持子选择吗???????*** 一会乱码一会不是乱码 求这样一个聊天室 include 静态文件和动态文件的区别? 请教下mysql里输入中文的问题,某些中文无法输入 怎么知道网页是从哪里转过来的?? 还是MYSQL的问题 如果一个form里有几个图形提交按钮,怎么判断提交数据是由哪个按钮提交的? 多维数组求解 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);