php正则表达式—子模式的应用

来源:互联网 发布:大数据 精准医疗 编辑:程序博客网 时间:2024/05/17 08:12

在php的正则表达式的语法中,我们曾经学习过“模式单元”;

在php的正则表达式中模式单元分为两类,即:总模式和子模式;

总模式—整个正则表达式的整体就是一个总模式;

子模式—整个正则表达式中用括号包起来的部分就叫做子模式;

如下:

^https?://(\w+)\.(\w+)\.com$

整个正则表达式就是一个总模式;而用颜色标记的部分就是子模式;

有时候我们使用正则表达式进行匹配并将匹配到的内容进行部分替换(只替换匹配到的部分内容)时,

就需要用到子模式,使用子模式来保留不需要被替换的部分;

如:

1.高亮显示某些特殊的字或者词时;

2.进行模版替换时;

……

那么应该如何使用子模式呢;

一般情况下,子模式的使用方式有以下几种:

$n,${n},\\n等。

用上面的例子来说明。

^https?://(\w+)\.(\w+)\.com$这段正则表达式,它用来匹配形如:http://www.baidu.com

这种形式的地址;

其中绿色的子模式就会匹配到www ,而黄色的子模式就会匹配到baidu 。

如果我们想将上面匹配到的内容替换成http://playwww.playbaidu.cn,那么我们就可以

将替换的内容(http://playwww.playbaidu.cn)写成如下几种形式:

1、http://play$1.play$2.cn

2、http://play${1}.play${2}.cn

3、http://play\\1.play\\2.cn

……


至于选择那种形式可根据个人喜好来决定;







1 0
原创粉丝点击