經過測試,發現php正規表示式獲取分組捕獲是從$0開始,而平時工作中j**ascript中的正則是$1..$9
在提取專案**中的漢字時,因為當時操作速度很快(趕時間),很擔心當時.properties的檔案的數字順序搞錯了:
1、可能從開始,而不是從開始
2、可能跳著寫了,比如第乙個是第二個需要替換的地方卻寫著
因為使用人工手動操作的,所以這種情況是難以避免,只能說減少誤操作。寫完了,得再檢查一遍,這個遇到困難了,二三千行的**,用眼睛一行一行查,那的比較累了,而且還不一定能檢查出來。一多就容易出錯,www.cppcns.com而且行與行之間靠的太近了,字又太小…
突然想起來,覺得php可以節省一點時間,讀取檔案,然後將關鍵的地方標紅…
然後就開始了:php讀取檔案,然後逐行的讀取,使用正規表示式匹配符合的行,然後將的地方使用紅色進行重點的標記,之後人工去檢視每一行是能是符合規則。**不對,卻很受用,至少省了用眼睛去乙個乙個檢查的時間:
這樣一眼掃過去,就能很清楚的看出每一行順序是否都寫對了,寫錯了的行,前面有行號,找到相應行再改改.
檢測中文替換文字的正確性
<?php $filename = "c:\test.properties";
$mode = "r";
$file_handle = fopen($filename, $mode);
$linenum = 0;
$pattern = "/[^{}]+/";
if ($file_handle) mzkstf/", "$0", $line);
echo "行".$linenum.":".$line."&l>
"; }
} } else
fclose($file_handle);
?>
相關問題參考文章:
用 php 讀取檔案的正確方法
掌握 php 中的正規表示式(1)
掌握 php 中的正規表示式(2)
ps:這裡再為大家提供2款非常方便的正規表示式工具供大家參考使用:
j**ascript正規表示式**測試工具:
程式設計客棧gex/j**ascript
正規表示式**生成工具:
gex/create_reg
正規表示式 分組與捕獲
之前使用正規表示式的時候大多數狀況下只是用用匹配表示式,為什麼說是匹配表示式呢,因為其實替換文字也可以使用表示式,我稱之為替換表示式。因為通常使用正規表示式的大多會是以下情況,比如把一段文字中的a字串更改為b字串 待匹配文字 abcdabcd 匹配表示式 b 替換文字 e 替換結果 aecdaecd...
正規表示式 分組與捕獲
之前使用正規表示式的時候大多數狀況下只是用用匹配表示式,為什麼說是匹配表示式呢,因為其實替換文字也可以使用表示式,我稱之為替換表示式。因為通常使用正規表示式的大多會是以下情況,比如把一段文字中的a字串更改為b字串 待匹配文字 abcdabcd 匹配表示式 b 替換文字 e 替換結果 aecdaecd...
js正規表示式分組捕獲
const reg reg.test 比如去掉 aaa 中的中括號 這裡只是舉個例,可以這樣來處理更複雜的模板字串 const reg a za z let str aaa while reg.test str console.log str str 這裡的 1就是 1 const reg a z ...