PHP實(shí)現(xiàn)正則表達(dá)式分組捕獲操作示例
本文實(shí)例講述了PHP實(shí)現(xiàn)正則表達(dá)式分組捕獲操作。分享給大家供大家參考,具體如下:
經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)php正則表達(dá)式獲取分組捕獲是從$0開(kāi)始,而平時(shí)工作中JavaScript中的正則是$1..$9
在提取項(xiàng)目代碼中的漢字時(shí),因?yàn)楫?dāng)時(shí)操作速度很快(趕時(shí)間),很擔(dān)心當(dāng)時(shí).properties的文件{\d}的數(shù)字順序搞錯(cuò)了:
1、可能從{1}開(kāi)始,而不是從{0}開(kāi)始
2、可能跳著寫了,比如第一個(gè)是{0}第二個(gè)需要替換的地方卻寫著{2}
因?yàn)槭褂萌斯な謩?dòng)操作的,所以這種情況是難以避免,只能說(shuō)減少誤操作。寫完了,得再檢查一遍,這個(gè)遇到困難了,二三千行的代碼,用眼睛一行一行查,那的比較累了,而且還不一定能檢查出來(lái)。一多就容易出錯(cuò),而且行與行之間靠的太近了,字又太小…
突然想起來(lái),覺(jué)得php可以節(jié)省一點(diǎn)時(shí)間,讀取文件,然后將關(guān)鍵的地方標(biāo)紅…
然后就開(kāi)始了:php讀取文件,然后逐行的讀取,使用正則表達(dá)式匹配符合{\d}的行,然后將{\d}的地方使用紅色進(jìn)行重點(diǎn)的標(biāo)記,之后人工去查看每一行是能是符合規(guī)則。代碼不對(duì),卻很受用,至少省了用眼睛去一個(gè)一個(gè)檢查的時(shí)間:
這樣一眼掃過(guò)去,就能很清楚的看出每一行順序是否都寫對(duì)了,寫錯(cuò)了的行,前面有行號(hào),找到相應(yīng)行再改改.
<!Doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>檢測(cè)中文替換文字的正確性</title> </head> <?php $filename = "C:\test.properties"; $mode = "r"; $file_handle = fopen($filename, $mode); $lineNum = 0; $pattern = "/{\d}[^{}]+/"; if ($file_handle) { while (!feof($file_handle)) { ++$lineNum; $line = fgets($file_handle); if (preg_match($pattern, $line)) { $line = preg_replace("/{\d}/", "<font color='red'>$0</font>", $line); echo "行".$lineNum.":".$line."<br/><br/><br/>"; } } } else { echo "文件讀取失敗"; } fclose($file_handle); ?> </html>
相關(guān)問(wèn)題參考文章:
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
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基本語(yǔ)法入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php 正則去掉<p> </p> 空格 與<p><br/></p>
- php正則表達(dá)式使用方法整理集合
- PHP常用正則表達(dá)式精選(推薦)
- PHP正則表達(dá)式處理函數(shù)(PCRE 函數(shù))實(shí)例小結(jié)
- PHP正則表達(dá)式筆記與實(shí)例詳解
- PHP中PCRE正則解析代碼詳解
- PHP正則判斷一個(gè)變量是否為正整數(shù)的方法
- PHP正則驗(yàn)證字符串是否為數(shù)字的兩種方法并附常用正則
- PHP正則匹配到2個(gè)字符串之間的內(nèi)容方法
- PHP正則解析多重循環(huán)模板示例
- PHP正則過(guò)濾處理微信昵稱中emoji字符的方法
- PHP實(shí)現(xiàn)正則匹配所有括號(hào)中的內(nèi)容
- PHP使用正則表達(dá)式實(shí)現(xiàn)過(guò)濾非法字符串功能示例
- PHP簡(jiǎn)單實(shí)現(xiàn)正則匹配省市區(qū)的方法
- phpstorm 正則匹配刪除空行、注釋行(替換注釋行為空行)
- PHP利用正則表達(dá)式實(shí)現(xiàn)手機(jī)號(hào)碼中間4位用星號(hào)(*)替換顯示功能
- 史上最全的PHP正則表達(dá)式(手機(jī)號(hào)需要加上177-***)
- PHP正則之正向預(yù)查與反向預(yù)查講解與實(shí)例
相關(guān)文章
php中比較簡(jiǎn)單的導(dǎo)入phpmyadmin生成的sql文件的方法
做網(wǎng)站的時(shí)候 我們會(huì)制作一個(gè)安裝文件 就需要用到sql文件創(chuàng)建數(shù)據(jù)庫(kù)。分享一下 我所用的方法。2011-06-06php+mysql實(shí)現(xiàn)用戶注冊(cè)登陸的方法
這篇文章主要介紹了php+mysql實(shí)現(xiàn)用戶注冊(cè)登陸的方法,可實(shí)現(xiàn)簡(jiǎn)單的用戶注冊(cè)登錄的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01php基礎(chǔ)知識(shí):類與對(duì)象(5) static
php基礎(chǔ)知識(shí):類與對(duì)象(5) static...2006-12-12php生成SessionID和圖片校驗(yàn)碼的思路和實(shí)現(xiàn)代碼
做一個(gè)后臺(tái)登陸需要用到校驗(yàn)碼,前臺(tái)的用戶跟蹤需要用到SessionID,當(dāng)然,默認(rèn)的PHP開(kāi)啟了Session以后就有了一個(gè)SessionID,但是我需要自己的,并且能夠存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù),那么我就嘗試了一下,構(gòu)造了以下的函數(shù)。2009-03-03