PHP实现正则表达式分组捕获操作示例

前端之家收集整理的这篇文章主要介绍了PHP实现正则表达式分组捕获操作示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP实现正则表达式分组捕获操作。分享给大家供大家参考,具体如下:

经过测试,发现PHP正则表达式获取分组捕获是从$0开始,而平时工作中JavaScript中的正则是$1..$9

提取项目代码中的汉字时,因为当时操作速度很快(赶时间),很担心当时.properties的文件{\d}的数字顺序搞错了:

1、可能从

2、可能跳着写了,比如第一个是

因为使用人工手动操作的,所以这种情况是难以避免,只能说减少误操作。写完了,得再检查一遍,这个遇到困难了,二三千行的代码,用眼睛一行一行查,那的比较累了,而且还不一定能检查出来。一多就容易出错,而且行与行之间靠的太近了,字又太小…

突然想起来,觉得PHP可以节省一点时间,读取文件,然后将关键的地方标红…

然后就开始了:PHP读取文件,然后逐行的读取,使用正则表达式匹配符合标记,之后人工去查看每一行是能是符合规则。代码不对,却很受用,至少省了用眼睛去一个一个检查的时间:

这样一眼扫过去,就能很清楚的看出每一行顺序是否都写对了,写错了的行,前面有行号,找到相应行再改改.

PHP;"> <Meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 检测<a href="https://www.jb51.cc/tag/zhongwen/" target="_blank" class="keywords">中文</a>替换<a href="https://www.jb51.cc/tag/wenzi/" target="_blank" class="keywords">文字</a>的正确性 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}/","$0",$line); echo "行".$lineNum.":".$line."


"; } } } else { echo "文件读取失败"; } fclose($file_handle); ?>

相关问题参考文章

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:

正则表达式在线生成工具:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《PHP常见数据库操作技巧汇总@H_404_46@》

希望本文所述对大家PHP程序设计有所帮助。

原文链接:/php/16338.html

猜你在找的PHP相关文章