![](/img/trans.png)
[英]Sublime Text regex to find and replace whitespace between two xml or html tags?
[英]Sublime Text regex find/replace within multiple html files
我将Sublime Text 2用于某些查找和替换操作。 我正在寻找一个仅替换h1 classes标记的正则表达式来引导面包屑,但不影响其中的内容。 每个h1标签都有不同的文本,并且由于有700多个文件,因此手动进行这项工作很辛苦!
例如,我想替换为:
<h1 class="xyz">SOME CONTENT</h1>
对此:
<ol class="breadcrumb">
<li>
<a href="#">anylink</a>
</li>
<li>
<span>SOME CONTENT</span>
</li>
</ol>
该“某些内容”将是我要保留的文本。
有可能的?
我正在使用以下代码查找标签和内容:
<h1 class="xyz">[^<>]*</h1>
但是,如果我替换为:
<ol class="breadcrumb">
<li>
<a href="#">anylink</a>
</li>
<li>
<span>[^<>]*</span>
</li>
</ol>
它用表达式[^ <>] *替换文本(我要保留)。
任何想法?
您可以这样实现:
找到使用:
<h1 class="xyz">([^<>]*)</h1>
用。。。来代替 :
<ol class="breadcrumb">
<li>
<a href="#">anylink</a>
</li>
<li>
<span>$1</span>
</li>
</ol>
在搜索字段中,您需要使用方括号将所需的文本捕获到组中:
<h1 class="xyz">([^<>]*)</h1>
然后在replace字段中,将捕获的组与$1
一起使用,如下所示:
<ol class="breadcrumb">
<li>
<a href="#">anylink</a>
</li>
<li>
<span>$1</span>
</li>
</ol>
希望能帮助到你。
这是另一个示例(我认为没有必要包含结束>
):
<h1 class="xyz">([^<]*)</h1>
捕获组([^<]*)
的说法是 : “不是<
零的次数的次数”
然后,您应该将捕获的组与\\1
或$1
(我不知道它如何在sublime上工作)
<ol class="breadcrumb">
<li>
<a href="#">anylink</a>
</li>
<li>
<span>\1</span> <!-- or $1, the one sublime text uses -->
</li>
</ol>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.