PHP使用preg_split()分割特殊字符(元字符等)的方法分析
本文实例讲述了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)
好了,这就是我们要的结果了
总结:当使用正则表达式中的元字符,普通字符进行[]内的多个字符分割的时候,要把待转义的元字符放在前面.
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。