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


Posted in PHP onFebruary 03, 2018

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

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

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

1、可能从{1}开始,而不是从{0}开始

2、可能跳着写了,比如第一个是{0}第二个需要替换的地方却写着{2}

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

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

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

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

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

<!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>

相关问题参考文章:

正则表达式在线生成工具:
http://tools.3water.com/regex/create_reg

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

PHP 相关文章推荐
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
PHP 时间日期操作实战
Aug 26 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 PHP
必须收藏的php实用代码片段
Feb 02 PHP
php版微信公众账号第三方管理工具开发简明教程
Sep 23 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
Dec 08 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
Laravel 框架返回状态拦截代码
Oct 18 PHP
php实现解析xml并生成sql语句的方法
Feb 03 #PHP
PHP删除数组中指定下标的元素方法
Feb 03 #PHP
php学习笔记之mb_strstr的基本使用
Feb 03 #PHP
php通过pecl方式安装扩展的实例讲解
Feb 02 #PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 #PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 #PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 #PHP
You might like
php统计数组元素个数的方法
2015/07/02 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
js读取本地excel文档数据的代码
2010/11/11 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
jsTree使用记录实例
2016/12/01 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
详解python编译器和解释器的区别
2019/06/24 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
css sprite简单实例
2016/05/23 HTML / CSS
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
毕业自我评价
2014/02/05 职场文书
小区消防演习方案
2014/02/21 职场文书
个人银行贷款担保书
2014/04/01 职场文书
消防安全责任书范本
2014/04/15 职场文书
机电专业求职信
2014/06/14 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
买卖合同协议书范本
2014/10/18 职场文书
电视新闻稿
2015/07/17 职场文书
2016关于学习党章的心得体会
2016/01/15 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS
python实现会员信息管理系统(List)
2022/03/18 Python
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server