Sublime Text正则表达式在多个html文件中查找/替换

时间:2017-03-04 20:06:35

标签: html regex twitter-bootstrap sublimetext2

我使用Sublime Text 2进行一些查找和替换操作。我正在寻找一个正则表达式,只替换h1类标签来引导面包屑,但不会影响它们内部的内容。每个h1标签都有不同的文字,而且超过700个文件,手动执行此操作非常困难!

例如,我想替换它:

<h1 class="xyz">SOME CONTENT</h1>

对此:

<ol class="breadcrumb"> 
<li>
<a href="#">anylink</a>
</li>
<li>
<span>SOME CONTENT</span>
</li>
</ol>

那&#34;某些内容&#34;将是我想保留的文本。

有可能吗?

我使用此代码查找代码和内容:

<h1 class="xyz">[^<>]*</h1>

但如果我替换为:

<ol class="breadcrumb"> 
<li>
<a href="#">anylink</a>
</li>
<li>
<span>[^<>]*</span>
</li>
</ol>

它用表达式[^&lt;&gt;] *替换文本(我想保留)。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

你可以这样做:

查找使用:

<h1 class="xyz">([^<>]*)</h1>

替换为:

<ol class="breadcrumb"> 
<li>
<a href="#">anylink</a>
</li>
<li>
<span>$1</span>
</li>
</ol>

答案 1 :(得分:3)

在搜索字段中,您需要使用括号捕获组中所需的文本:

<h1 class="xyz">([^<>]*)</h1>

在替换字段中,将捕获的组与$1一起使用,如下所示:

<ol class="breadcrumb"> 
<li>
<a href="#">anylink</a>
</li>
<li>
<span>$1</span>
</li>
</ol>

希望它有所帮助。

答案 2 :(得分:3)

这是另一个例子(我不认为有必要包括结束df2 = pd.DataFrame.from_dict(data2) df2 ):

>

捕获小组<h1 class="xyz">([^<]*)</h1> 其说“任何不是([^<]*) 0到0次的

然后你应该使用<\1抓取的群组,(我不知道它如何在崇高时起作用)

$1