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中的串行化变量和序列化对象
Sep 05 PHP
PHP入门速成(2)
Oct 09 PHP
PHP如何透过ODBC来存取数据库
Oct 09 PHP
php pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
cakephp打印sql语句的方法
Feb 13 PHP
PHP连接access数据库
Mar 27 PHP
ThinkPHP实现递归无级分类――代码少
Jul 29 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
Jan 08 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
PHP将数据导出Excel表中的实例(投机型)
Jul 31 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
Mar 21 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.ini中文版(1)
2006/10/09 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
JS、jQuery中select的用法详解
2016/04/21 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
python解析xml文件操作实例
2014/10/05 Python
Python输入二维数组方法
2018/04/13 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
用Python写一个自动木马程序
2019/09/17 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
秋季婚礼证婚词
2014/01/11 职场文书
上班上网检讨书
2014/01/29 职场文书
给老婆的婚前保证书
2014/02/01 职场文书
给校长的建议书
2014/03/12 职场文书
毕业生简历自我评价范文
2014/04/09 职场文书
就业协议书怎么填
2014/04/11 职场文书
演讲比赛策划方案
2014/06/11 职场文书
入党函调证明材料
2014/12/24 职场文书
质量保证书格式模板
2015/02/27 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
科级干部培训心得体会
2016/01/06 职场文书
学习党章心得体会2016
2016/01/15 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript