我使用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;] *替换文本(我想保留)。
有什么想法吗?
答案 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