当前位置: 首页 > 图文教程 > 网络编程 > 正则表达式 > 一个替换目录结构的正则表达式 实现目录的增加

正则表达式
DreamWeaver中使用正则技术搜索
代替正则——HyperScriptExpression联合开发倡议公告
正则入门连载!(献给不及格的程序员们)
请教一个正则表达式,匹配所有Html标签外部的指定字符串
php正则表达式中的非贪婪模式匹配
js中2005-05-02怎么转换为2005/5/2?
用正则表达式格式化html标签的代码
php利用正则表达式取出图片的URL
用正则取出html页面中script段落里的内容
学习正则表达式30分钟入门教程(第二版)
只能是字母或数字或者是字母和数字的组合的正则previousSibling
[php]正则表达式的五个成功习惯
常用正则表达式语法例句
正则表达式基础教程 regular expression
php中正则表达式中的特殊符号
PHP和正则表达式教程集合之一
PHP和正则表达式教程集合之二
用正则实现提取代码内容的代码
php正则之函数 preg_replace()参数说明
关于preg_replace函数的问题讲解

一个替换目录结构的正则表达式 实现目录的增加


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 189 ::
收藏到网摘: n/a

这个功能挺重要大家习惯了用asp,php等在线的,用一些支持正则表达式的软件实现替换是更有效率的,容易测试等,读懂了这个就可以更方便的利用正则表达式为我们服务了。 需要解决如下操作:
有多个shtml文件,里面有连接地址
http://www.ruanchen.com/"http://www.ruanchen.com/" style="color: #000">正则表达式的软件就可以了
查找目标:
复制代码 代码如下:

^(.+/)(.+)$

替换为:
复制代码 代码如下:

\1inc/\2

记得在下面的"查找模式"上选中 "正则表达式"
再顺便讲一下上面的正则是什么意思,
^(.+/)(.+)$
^ 匹配每一行的开头
$ 匹配每一行的结尾
(.+/) 匹配 从当前行的开始到最后一个 / 括号在这里表示捕获这个分组,然后才可以在正面的替换为里面使用 \1 来代表这个正则所匹配的内容
(.+) 匹配当前行的最后一个 / 的右边的字符起到这一行的结尾 (第二个捕获分组 \2)
上面的整个正则的意思是 从当前行的第一个字符找到最后一个 / 做为第一个分组,剩余的做为第二个分组
替换为: \1inc/\2
中的 \1 就是上面所说的第一个分组所匹配到的内容 \2 是第二个分组所匹配到的内容 inc/ 是你想要在中间中上的字符
所以合在一起就可以达到你想要的目的了.
即:
http://www.ruanchen.com/2/234/678.html
http://www.ruanchen.com/2/234/ 为 分组一所匹配到的字符(\1)
678.html 为分组二所匹配到的字符(\2)
然后再结合替换为里面的内容,替换后的结果为
http://www.ruanchen.com/2/234/inc/678.html