e开头的正则 php,PHP正则表达式e模式
作者: 溪水清澈
举例如下:
$arr =array( 'abc', 'def', 'ghi' );
$brr =array( 'opq', 'rst', 'xyz' );
$pattern= '/:(\d+)/e';
$subject= '/:2/:1/:0/';
$str =preg_replace( $pattern, '$arr[$1] . $brr[$1]',$subject );
echo $str; //输出为: /ghixyz/defrst/abcopq/
e模式, 只限用于preg_replace()函数,
preg_replace( 搜索模式, 替换字符串, 搜索目标 );
e模式可以把
替换字符串(上例中的'$arr[$1]. $brr[$1]')
中的内容当成一个PHP表达式
(仅仅是一个, 也就是不能有分号)
(上例中是两个数组元素进行字符串拼接),
先进行反向引用替换
(上例中的$1, 替换成捕获到的数字,
结果就是(假设捕获到了数字2: '$arr[2] . $brr[2]'),
再进行PHP表达式替换
(把'$arr[2] . $brr[2]'中的数组元素替换成相应的值,
结果为: 'ghixyz')
最后替换掉 搜索目标 中相应的字符串(此处为把 :2 替换成 'ghixyz')
所以第一个匹配替换后的结果就是 '/ghixyz/:1/:0/'
第二替换结果是 '/ghixyz/defrst/:0/'
第三也就是最终结果是 '/ghixyz/de
e开头的正则 php,PHP正则表达式e模式相关推荐
- java 正则 懒惰_正则表达式懒惰模式
在写BLOG练习程序的时候,考虑到用BBS直接输入可能会更加简洁些.但是如何转换又成了一个问题. 在群里问了问朋友,一致认同使用正则表达式最好.于是又翻起了那篇我觉得很好的正则表达式三十分钟入门,看了 ...
- python正则匹配_python 正则表达式详解
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...
- 正则环视 php,正则表达式基本知识(php)
这里的知识点基本上是<正则指引>的读书笔记,只是每个知识点的示例代码用php来实现. 1. 字符组 字符组(Character Class)就是一组字符,在正则表达式中,它表示" ...
- python正则库_python 正则表达式第三方库 re的基本使用
re模块简介: 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配,而re模块就是python中实现正则的模块 正则表达式简介: 非打印字符: 非打印字符也可以是正则表达 ...
- python匹配数字开头的内容_python使用正则表达式匹配字符串开头并打印示例
python 正则表达式,怎样匹配以某个字符串开头,以str ="abcdefg123213qwe" 比如要匹配以abc开头,以qwe结尾,要怎样写呢?匹配以某个字符串开头,以某个 ...
- 正则表达式口诀及常用正则 。正则贪婪与非贪婪模式
正则表达式口诀及常用正则 签于网上太多的介绍都是一篇凶悍的短文,边看边理解可以,帮助记忆不行.又受五笔字型字根表口诀"白手看头三二斤..."的启发, 试作"正则表达式助 ...
- js正则贪婪模式_C# 正则表达式贪婪模式案例
案例一. 如 "acbacb" 正则 "a.*?b" 只会取到第一个"acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符 ...
- java 正则 实例_Java正则表达式实例详解
创建正则表达式 你可以从比较简单的东西入手学习正则表达式.要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档. 字符 B 字符B \xh ...
- linux 正则查找email_Linux 正则表达式详解
一.linux文本查找命令 在说linux正规表达式之前,还介绍下linux中查找文本文件常用的三个命令: 1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本 ...
最新文章
- matepad和鸿蒙,爆料称华为MatePad 2系列平板有三个版本:预装鸿蒙OS
- BZOJ 1951: [Sdoi2010]古代猪文 [Lucas定理 中国剩余定理]
- Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁
- 【Redis3】基于Redis sentinel的自动failover主从复制
- linux怎么变成windows,如何把Ubuntu 18.04改造成Windows主题界面
- Object-C,NSSet,不可变集合
- CentOS 7.4 安装Teamviewer 14
- js中判断对象数组中是否存在某个对象,以及使用判断是否存在某个元素的indecOf()和find()方法
- Mat和IplImage
- 家园2简易地图编辑器
- html图片、背景音乐、滚动文字
- PBS常用基本命令------PBS入门
- 网络复现笔记-AdaptSegNet
- 大厂的安卓技术面试是酱紫的
- 当英文遇上汉语 就知道汉语有多强大了
- CobaltStrike优质学习资源
- 201612-3-炉石传说
- springboot+springsecurity+阿里云短信服务验证实现注册登录
- [开源名人访谈录] Philippe Gerum
- 金蝶ERP二次开发笔记(二)----ID相关处理
热门文章
- python 文件不存在时才能写入,读写模式xt
- 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 4.)(python/c/c++版)(笔记)
- 为什么 scanf( )(scanf_s)函数老要输入两次才行?
- Python中的正则表达式(基础)
- 欢迎使用CSDN-markdown
- Ubuntu16.04安装Xtion驱动并测试使用
- mysql 快速入门_MySql快速入门
- Logstash配置多个Input、Filter、Output
- mysql修改网络服务_MySql-Server 就要修改成允许 Web-Server 进行远程连接. 最后一步 需要使用ALTER USER … ACCOUNT UNLOCK语句进行解锁了:...
- html经典上中下三段的布局设计