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利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
php实现图片添加描边字和马赛克的方法
Dec 10 PHP
php的sso单点登录实现方法
Jan 08 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
Apr 20 PHP
Smarty模板变量调节器用法分析
May 23 PHP
php使用include 和require引入文件的区别
Feb 16 PHP
PHP实现权限管理功能示例
Sep 22 PHP
php之可变函数的实例详解
Sep 13 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
php的优点总结 php有哪些优点
Jul 19 PHP
PHP递归统计系统中代码行数
Sep 19 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和ACCESS写聊天室(五)
2006/10/09 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
js 字符串操作函数
2009/07/25 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
荷兰电脑专场:Paradigit
2018/05/05 全球购物
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
2015/05/29 面试题
应届毕业生自我评价分享
2013/12/15 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
服务宗旨标语
2014/07/01 职场文书
庆七一宣传标语
2014/10/08 职场文书
出国留学单位推荐信
2015/03/26 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python