在Sublime Text,Gedit或任何其他编辑器中,如何选择和替换Tags中的所有内容?

时间:2013-07-25 05:57:56

标签: regex replace sublimetext2 gedit

我有一个wordpress文件的数据库备份。我需要用div替换所有标题。我需要用div替换整个标题标记[caption id="dfdsf"]和结束标记[/caption](带大括号)。我怎样才能做到这一点?更换结束标签很容易。但是搜索开头标签很困难,因为里面可能有任何东西!怎么做?

以下是一个例子:

[caption id="attachment_34552" align="aligncenter" width="550"]<img class="size-large wp-image-34552" alt="Octopress" src="http://....jpg" width="550" height="385" /> Octopress [/caption]

3 个答案:

答案 0 :(得分:1)

如果你不介意正则表达式,匹配开头的正则表达式是

/\[caption[^]]*\]/

http://rubular.com/r/eRRxYIsVCG

如果您要captionCAPTION等,请记住指定不区分大小写。

如果您只想在命令行上执行此操作,可以使用sed(1)

sed 's/\[caption[^]]*\]/<div class=\\"sss\\">/g' file.html

将它发送到stdin,你可以管道到你想要的任何文件。

如果您想要就地修改文件,可以将-i开关添加到sed

答案 1 :(得分:0)

尝试展开选择命令。在Windows和Linux中它是ctrl+shift+m。我不记得OS X绑定在我的头顶。如果您不确定(假设您还没有覆盖它),可以通过选择Selection菜单来查看绑定。将光标放在方括号内的某处。第一次扩展将不包括方形括号,但第二次扩展将包括。

答案 2 :(得分:0)

您可以在unix机器中使用终端中的sed。

命令就像

sed "s/\[caption \([^]]*\)\]/<div \1>/g" youdata.txt > file.txt 
sed "s/\[/caption\]/</div>/g" file.txt > file.txt