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);
結(jié)果:
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] => )
很顯然,這不是我們想要的結(jié)果,郁悶了好一會,才找到是什么原因:
把正則表達(dá)式內(nèi)的特殊字符放到前面就沒事了, 也就是
$pattern="/[\\|\\.,-]/";
結(jié)果:
Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd [4] => eee [5] => fff [6] => ggg [7] => hhh [8] => iii [9] => jjj [10] => kkk )
好了,這就是我們要的結(jié)果了
總結(jié):當(dāng)使用正則表達(dá)式中的元字符,普通字符進(jìn)行 [ ]內(nèi)的多個字符分割的時候,要把待轉(zhuǎn)義的元字符放在前面.
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php正則表達(dá)式用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- PHP 正則表達(dá)式之正則處理函數(shù)小結(jié)(preg_match,preg_match_all,preg_replace,preg_split)
- php中利用explode函數(shù)分割字符串到數(shù)組
- php中explode與split的區(qū)別介紹
- PHP的explode和implode的使用說明
- php字符串分割函數(shù)explode的實例代碼
- PHP explode()函數(shù)用法、切分字符串
- php使用explode()函數(shù)將字符串拆分成數(shù)組的方法
- php連接函數(shù)implode與分割explode的深入解析
- PHP中explode函數(shù)和split函數(shù)的區(qū)別小結(jié)
- PHP中substr()與explode()函數(shù)用法分析
- PHP 字符串分割和比較
- PHP使用preg_split和explode分割textarea存放內(nèi)容的方法分析
相關(guān)文章
深入解析WordPress中加載模板的get_template_part函數(shù)
這篇文章主要介紹了WordPress中加載模板的get_template_part函數(shù),其中重點講解了其函數(shù)鉤子的使用,需要的朋友可以參考下2016-01-01php計劃任務(wù)之驗證是否有多個進(jìn)程調(diào)用同一個job的方法
這篇文章主要介紹了php計劃任務(wù)之驗證是否有多個進(jìn)程調(diào)用同一個job的方法,涉及php針對計劃任務(wù)中進(jìn)程調(diào)用的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-12-12php可擴(kuò)展的驗證類實例(可對郵件、手機(jī)號、URL等驗證)
這篇文章主要介紹了php可擴(kuò)展的驗證類,實例分析了php針對郵件、手機(jī)號、URL等常用的驗證技巧,非常具有實用價值,需要的朋友可以參考下2015-07-07PHP中開發(fā)XML應(yīng)用程序之基礎(chǔ)篇 添加節(jié)點 刪除節(jié)點 查詢節(jié)點 查詢節(jié)
XML(可擴(kuò)展的標(biāo)注語言)是一種W3C標(biāo)準(zhǔn),主要用于Web應(yīng)用程序和服務(wù)器之間實現(xiàn)容易的交互、數(shù)據(jù)的存儲與使用2010-07-07php+mysql事務(wù)rollback&commit示例
執(zhí)行BEGIN之后,其作用同set autocommit=0,而且之后設(shè)置set autocommit=0或1時無效。所以,為使操作清楚,一般不使用BEGIN。2010-02-02