RegEx替换标记名称,保留内容和属性

时间:2014-03-14 16:38:42

标签: html regex sublimetext3

我想替换开始和结束标记,保留标记及其属性的内容。

这就是我所拥有的:

<div class="QText">Text to be kept</div>

替换为

<span class="QText">Text to be kept</span>

我尝试了这个表达式,找到了我想要的所有表达式,但似乎没有办法替换找到的表达式。

<div class="QText">(.*?)</div>

提前致谢。

3 个答案:

答案 0 :(得分:2)

只需替换div。

var s="<div class='QText'>Text to be kept</div>";
alert(s.replace(/div/g,"span"));

演示: http://jsfiddle.net/9sgvP/

如果有帮助,请将其标记为答案;)

答案 1 :(得分:2)

我认为@AmitJoki的回答在某些情况下会运行得很好,但是如果你只想在拥有属性或特定属性集时替换div元素,那么你会希望使用带反向引用的正则表达式替换 - 遗憾的是,如何指定和引用反向引用取决于您选择的编辑器。 Visual Studio拥有最独特,最令人讨厌的风味&#34;我所知道的正则表达式,虽然Dreamweaver有一个相当典型的实现(我想象你正在使用的任何编辑器进行正则表达式替换 - 你只需要知道菜单项或按键来调出对话框)。 / p>

如果内存服务,当您按Ctrl + F时Dreamweaver有替换选项,而您必须按Ctrl + H,所以请尝试这些。

一旦你得到一个&#34; Find&#34;和&#34;替换&#34;在上面的例子中,您可以将上述示例中的内容(<div class="QText">(.*?)</div><div class="(QText|RText|SText)">(.*?)</div>放入您的&#34;查找&#34;框,然后在&#34;替换&#34;中添加<span class="QText">\1</span><span class="\1">\2</span>之类的内容。框。一些实用程序可能会使用$1来引用反向引用而不是\1,但您必须查找帮助或进行实验才能确定。

如果您使用某种语言来运行此表达式,则需要告诉我们哪种语言。

如果您使用特定的编辑器来运行此表达式,则需要告诉我们哪个编辑器。

......永远不要忘记regex and HTML

上流行的智慧

答案 2 :(得分:1)

按要求发布

如果它是那样的字面意思,捕捉要保留的东西,然后替换其余部分,

查找:<div( class="QText">.*?</)div>
替换:<span$1span>