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

Regex 在Sublime Text、Gedit或任何其他编辑器中,如何选择和替换标记中的所有内容?,regex,replace,sublimetext2,gedit,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

我有一个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]
[caption id=“attachment_34552”align=“aligncenter”width=“550”]Octopress[/caption]

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

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

如果要使用
标题
标题
等,请记住指定不区分大小写

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

sed的/\[caption[^]]*\]//g'file.html
它会将其发送到stdin,您可以通过管道将其发送到您想要的任何文件


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

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

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

如果要使用
标题
标题
等,请记住指定不区分大小写

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

sed的/\[caption[^]]*\]//g'file.html
它会将其发送到stdin,您可以通过管道将其发送到您想要的任何文件


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

尝试展开选择命令。在Windows和Linux中是
ctrl+shift+m
。我想不起OSX绑定是怎么回事。如果您不确定(假设您还没有覆盖它),可以通过选择
selection
菜单来查看它的绑定。将光标放置在方括号内的某个位置。第一次展开将不包含方括号,但第二次将包含方括号。

请尝试“展开选择”命令。在Windows和Linux中是
ctrl+shift+m
。我想不起OSX绑定是怎么回事。如果您不确定(假设您还没有覆盖它),可以通过选择
selection
菜单来查看它的绑定。将光标放置在方括号内的某个位置。第一个扩展将不包括方括号,但第二个扩展将包括。

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

命令将类似于

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

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

命令将类似于

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

预期的输出是什么?@JustinL。Its:Octopress预期输出是多少?@JustinL。它的意思是:一个正则表达式可能会像贾斯汀说的那样工作。但您可以在ST中使用多光标功能,并结合展开选择一次处理所有光标。当然,取决于文件的格式,你也可以使用“Wrap Selection with Tag”命令将你的东西快速包装到div中。正则表达式可能会像Justin说的那样工作。但您可以在ST中使用多光标功能,并结合展开选择一次处理所有光标。当然,取决于文件的格式,你也可以使用“Wrap Selection with Tag”命令将你的东西快速包装到divs中。是否有其他工具(甚至是命令行工具)可以做到这一点?升华被卡住了。你可以在unix机器上使用
sed(1)
(我已经更新了我的答案来说明如何使用),但我相信升华有一些东西可以配置让它工作。除了一个小问题之外,所有东西都可以工作。。。SQL文件中有“转义符号。例如,如何添加此\?您只需将
”添加到替换表达式中(我更新了答案以反映这一点),但请记住,因为您在bash中,您必须转义
`并编写`\ `。是否有其他工具(甚至是命令行工具)要做到这一点吗?升华会陷入困境。你可以在unix机器上使用
sed(1)
(我更新了我的答案来说明如何使用),但我相信升华有一些东西可以配置让它工作。除了一个小问题之外,一切都可以工作……SQL文件有“转义”标志。例如,如何添加此\?您只需将
`添加到替换表达式中(我更新了答案以反映这一点),但请记住,因为您在bash中,您必须转义
`并写入````。如果需要将类添加到div中,是否正确:sed“s/[caption([^]]*]///g”youdata.txt>file.txtYes。如果要在文件中直接替换而不创建新文件,可以使用sed-i。如果需要向div添加类,是否正确:sed“s/[caption([^]]*)]//g”youdata.txt>file.txtYes。如果您想直接替换文件中的内容而不创建新文件,可以使用sed-i。