PHP使用preg_split()分割特殊字符(元字符等)的方法分析


Posted in PHP onFebruary 04, 2017

本文实例讲述了PHP使用preg_split()分割特殊字符(元字符等)的方法。分享给大家供大家参考,具体如下:

这里所说的特殊字符就是正则中使用的特殊字符,如: | . + 等

其它的先不说,来个实例:

$pattern="/[,-\\|\\.]/";
$subject="aaa,bbb,ccc-ddd-eee-fff|ggg|hhh.iii.jjj.kkk";
$spr=preg_split($pattern, $subject);
print_r($spr);

结果:

Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => [19] => [20] => [21] => [22] => [23] => [24] => [25] => [26] => [27] => [28] => [29] => [30] => [31] => [32] => [33] => [34] => [35] => [36] => [37] => [38] => [39] => [40] => [41] => [42] => [43] => )

很显然,这不是我们想要的结果,郁闷了好一会,才找到是什么原因:

把正则表达式内的特殊字符放到前面就没事了, 也就是

$pattern="/[\\|\\.,-]/";

结果:

Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd [4] => eee [5] => fff [6] => ggg [7] => hhh [8] => iii [9] => jjj [10] => kkk )

好了,这就是我们要的结果了

总结:当使用正则表达式中的元字符,普通字符进行 [ ]内的多个字符分割的时候,要把待转义的元字符放在前面.

PHP 相关文章推荐
php session 错误
May 21 PHP
PHP 变量定义和变量替换的方法
Jul 30 PHP
PHP 函数执行效率的小比较
Oct 17 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
学习php设计模式 php实现桥梁模式(bridge)
Dec 07 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
iOS10推送通知开发教程
Sep 19 PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
php-7.3.6 编译安装过程
Feb 11 PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 #PHP
关于PHP内置的字符串处理函数详解
Feb 04 #PHP
详谈PHP面向对象中常用的关键字和魔术方法
Feb 04 #PHP
浅谈PHP中的错误处理和异常处理
Feb 04 #PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 #PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 #PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
Feb 04 #PHP
You might like
PHP判断图片格式的七种方法小结
2013/06/03 PHP
PHP修改session_id示例代码
2014/01/08 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
PHP的PDO连接讲解
2019/01/24 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
vue接入腾讯防水墙代码
2019/05/07 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
粗略分析Python中的内存泄漏
2015/04/23 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
python的socket编程入门
2018/01/29 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
浅谈python锁与死锁问题
2020/08/14 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
得到Class的三个过程是什么
2012/08/10 面试题
物流专业大学的自我评价
2014/01/11 职场文书
大学应届毕业生求职信
2014/05/24 职场文书
2014年实验室工作总结
2014/12/03 职场文书
读后感作文评语
2014/12/25 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
高三教师工作总结2015
2015/07/21 职场文书
《植树问题》教学反思
2016/03/03 职场文书