当前位置: 编程技术>其它
一个替换目录结构的正则表达式 实现目录的增加
来源: 互联网 发布时间:2014-10-16
本文导语: 需要解决如下操作:有多个shtml文件,里面有连接地址 http://www./fgdf/222/1234.shtml http://www./tyty/333/456456.shtml http://www./tyry/789/fsdfsfs.shtml 现在我我想把这些.shtml文件连接地址前面加个目录名 inc 就是变成 http://www./fgdf/222/inc/1234.shtml ht...
需要解决如下操作:
有多个shtml文件,里面有连接地址
http://www./fgdf/222/1234.shtml
http://www./tyty/333/456456.shtml
http://www./tyry/789/fsdfsfs.shtml
现在我我想把这些.shtml文件连接地址前面加个目录名 inc 就是变成
http://www./fgdf/222/inc/1234.shtml
http://www./tyty/333/inc/456456.shtml
解决方法:一般来说editplus等支持正则表达式的软件就可以了
查找目标:
^(.+/)(.+)$
替换为:
1inc/2
记得在下面的"查找模式"上选中 "正则表达式"
再顺便讲一下上面的正则是什么意思,
^(.+/)(.+)$
^ 匹配每一行的开头
$ 匹配每一行的结尾
(.+/) 匹配 从当前行的开始到最后一个 / 括号在这里表示捕获这个分组,然后才可以在正面的替换为里面使用 1 来代表这个正则所匹配的内容
(.+) 匹配当前行的最后一个 / 的右边的字符起到这一行的结尾 (第二个捕获分组 2)
上面的整个正则的意思是 从当前行的第一个字符找到最后一个 / 做为第一个分组,剩余的做为第二个分组
替换为: 1inc/2
中的 1 就是上面所说的第一个分组所匹配到的内容 2 是第二个分组所匹配到的内容 inc/ 是你想要在中间中上的字符
所以合在一起就可以达到你想要的目的了.
即:
http://www./12/234/678.html
http://www./12/234/ 为 分组一所匹配到的字符(1)
678.html 为分组二所匹配到的字符(2)
然后再结合替换为里面的内容,替换后的结果为
http://www./12/234/inc/678.html
有多个shtml文件,里面有连接地址
http://www./fgdf/222/1234.shtml
http://www./tyty/333/456456.shtml
http://www./tyry/789/fsdfsfs.shtml
现在我我想把这些.shtml文件连接地址前面加个目录名 inc 就是变成
http://www./fgdf/222/inc/1234.shtml
http://www./tyty/333/inc/456456.shtml
解决方法:一般来说editplus等支持正则表达式的软件就可以了
查找目标:
代码如下:
^(.+/)(.+)$
替换为:
代码如下:
1inc/2
记得在下面的"查找模式"上选中 "正则表达式"
再顺便讲一下上面的正则是什么意思,
^(.+/)(.+)$
^ 匹配每一行的开头
$ 匹配每一行的结尾
(.+/) 匹配 从当前行的开始到最后一个 / 括号在这里表示捕获这个分组,然后才可以在正面的替换为里面使用 1 来代表这个正则所匹配的内容
(.+) 匹配当前行的最后一个 / 的右边的字符起到这一行的结尾 (第二个捕获分组 2)
上面的整个正则的意思是 从当前行的第一个字符找到最后一个 / 做为第一个分组,剩余的做为第二个分组
替换为: 1inc/2
中的 1 就是上面所说的第一个分组所匹配到的内容 2 是第二个分组所匹配到的内容 inc/ 是你想要在中间中上的字符
所以合在一起就可以达到你想要的目的了.
即:
http://www./12/234/678.html
http://www./12/234/ 为 分组一所匹配到的字符(1)
678.html 为分组二所匹配到的字符(2)
然后再结合替换为里面的内容,替换后的结果为
http://www./12/234/inc/678.html