PHP實現Regex分組捕獲操作樣本php技巧

來源:互聯網
上載者:User
這篇文章主要介紹了PHP實現Regex分組捕獲操作,結合執行個體形式分析了phpRegex擷取分組捕獲操作的相關實現方法與使用注意事項,需要的朋友可以參考下

本文執行個體講述了PHP實現Regex分組捕獲操作。分享給大家供大家參考,具體如下:

經過測試,發現phpRegex擷取分組捕獲是從$0開始,而平時工作中JavaScript中的正則是$1..$9

在提取項目代碼中的漢字時,因為當時操作速度很快(趕時間),很擔心當時.properties的檔案{\d}的數字順序搞錯了:

1、可能從{1}開始,而不是從{0}開始

2、可能跳著寫了,比如第一個是{0}第二個需要替換的地方卻寫著{2}

因為使用人工手動操作的,所以這種情況是難以避免,只能說減少誤操作。寫完了,得再檢查一遍,這個遇到困難了,二三千行的代碼,用眼睛一行一行查,那的比較累了,而且還不一定能檢查出來。一多就容易出錯,而且行與行之間靠的太近了,字又太小…

突然想起來,覺得php可以節省一點時間,讀取檔案,然後將關鍵的地方標紅…

然後就開始了:php讀取檔案,然後逐行的讀取,使用Regex匹配符合{\d}的行,然後將{\d}的地方使用紅色進行重點的標記,之後人工去查看每一行是能是符合規則。代碼不對,卻很受用,至少省了用眼睛去一個一個檢查的時間:

這樣一眼掃過去,就能很清楚的看出每一行順序是否都寫對了,寫錯了的行,前面有行號,找到相應行再改改.

<!Doctype html><html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><title>檢測中文替換文字的正確性</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>

相關問題參考文章:

用 PHP 讀取檔案的正確方法

掌握 PHP 中的Regex(1)

掌握 PHP 中的Regex(2)

PS:這裡再為大家提供2款非常方便的Regex工具供大家參考使用:

JavaScriptRegex線上測試載入器:
http://tools.jb51.net/regex/javascript

Regex線上產生工具:
http://tools.jb51.net/regex/create_reg

您可能感興趣的文章:

PHP實現QQ登入的開原理和實現過程php執行個體

詳解PHP檔案的自動載入php執行個體

詳解PHP中mb_strpos的使用php技巧

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.