我有一个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]
答案 0 :(得分:1)
如果你不介意正则表达式,匹配开头的正则表达式是
/\[caption[^]]*\]/
http://rubular.com/r/eRRxYIsVCG
如果您要caption
和CAPTION
等,请记住指定不区分大小写。
如果您只想在命令行上执行此操作,可以使用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