php如何正则提取指定[]中的值

2024-09-03 10:32
文章标签 提取 指定 php 正则

本文主要是介绍php如何正则提取指定[]中的值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

   假设某条日志为:NOTICE: 17-05-22 11:00:00 [/home/work/orp/php/phplib/saf/base/Log.php:28] logId[3599980370]     refer[] cookie[] uri[/order/commit/order?mod=emsg&transid=437995094] optime[1495421999.998    ] client_ip[10.67.49.39] local_ip[10.193.69.49]

一、目标:提取logId后面[]中的字符串

  分析:整条数据中有多个括号,需精确提取指定[]中的字符串

 

二、方案:

1. 方案1.

代码

 

结果

分析:

以上的正则表达式会自动匹配了logId[和最后一个]之间的字符串,包括了多个[],与我们的预期(提取logId[....]之间的字符串

 

2. 方案2.

代码

结果

 

分析:

已经基本提取到logId这个字符串,但是我们直接想要[]中的字符串

 

 

3. 方案3.

代码

结果:

 

分析:

现在就可以成功提取了,下面分析一下该正则表达式

// logId : 首先匹配字符串logId// \[ : 再匹配一个[ ,因为 [ 属于特殊字符,所以需加一个转义符 \[// () : 括号()代表指定需要单独提取出来的内容// [^\]]* : 代表匹配包括非]在内的所有字符任意个// \] : 代表能够匹配一个]

这篇关于php如何正则提取指定[]中的值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132722

相关文章

遮罩,在指定元素上进行遮罩

废话不多说,直接上代码: ps:依赖 jquer.js 1.首先,定义一个 Overlay.js  代码如下: /*遮罩 Overlay js 对象*/function Overlay(options){//{targetId:'',viewHtml:'',viewWidth:'',viewHeight:''}try{this.state=false;//遮罩状态 true 激活,f

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

C#关闭指定时间段的Excel进程的方法

private DateTime beforeTime;            //Excel启动之前时间          private DateTime afterTime;               //Excel启动之后时间          //举例          beforeTime = DateTime.Now;          Excel.Applicat

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json

如何将文件夹里的PHP代码放到一个文件里

find ./dir -name "*.php" -exec 'cat' {} \; > dir.out

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re

PHP防止SQL注入详解及防范

SQL 注入是PHP应用中最常见的漏洞之一。事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞。 一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。 对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的

PHP防止SQL注入的方法(2)

如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子: $unsafe_variable = $_POST['user_input'];mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')"); 这是因为用户可以输入类似VALUE”); DROP TA

PHP防止SQL注入的方法(1)

(1)mysql_real_escape_string – 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 使用方法如下: $sql = "select count(*) as ctr from users where username ='".mysql_real_escape_string($username)."' and password='". mysql_r