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相当简单的分页类
Oct 02 PHP
PHP 程序员应该使用的10个组件
Oct 31 PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
PHP连接MySQL的2种方法小结以及防止乱码
Mar 11 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
PHP定时任务延缓执行的实现
Oct 08 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 PHP
详解php与ethereum客户端交互
Apr 28 PHP
PHP中ltrim()函数的用法与实例讲解
Mar 28 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 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 adodb分页实现代码
2009/03/19 PHP
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
微信小程序商品到详情的实现
2017/06/27 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
python解析html开发库pyquery使用方法
2014/02/07 Python
python中的字典详细介绍
2014/09/18 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
python编写弹球游戏的实现代码
2018/03/12 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
详解python中的数据类型和控制流
2019/08/08 Python
python 元组的使用方法
2020/06/09 Python
10个示例带你掌握python中的元组
2020/11/23 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
小区门卫岗位职责
2013/12/31 职场文书
大学生蛋糕店创业计划书
2014/01/13 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
企业年会祝酒词
2015/08/11 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers