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下检测字符串是否是utf8编码的代码
Jun 28 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
php session安全问题分析
Jun 24 PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
PHP文件缓存内容保存格式实例分析
Aug 20 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
php实现xml与json之间的相互转换功能实例
Jul 07 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
利用PHP访问带有密码的Redis方法示例
Feb 09 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 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和XSL stylesheets转换XML文档
2006/10/09 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
php代码书写习惯优化小结
2013/06/20 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
jQuery实现列表的增加和删除功能
2018/06/14 jQuery
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
Python logging模块handlers用法详解
2020/08/14 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
.NET常见笔试题集
2012/12/01 面试题
自主招生自荐信
2013/12/08 职场文书
集体婚礼策划方案
2014/02/22 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
个人安全承诺书
2014/05/22 职场文书
语文教育专业求职信
2014/06/28 职场文书
高中同学会致辞
2015/08/01 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书