我的网站上有很多链接,我想用一些标签包装,我可以使用RegEx轻松找到这些链接,但是当我用它们周围的标签替换时,我会#就像原来的href一样。
所以我可以这样找到它们:
<a class="button-link" (.+)>Back</a>
这会返回许多结果:
96 <div class="form-group">
97 <a class="button" href="RegistrationSubmit.html">Save and continue</a>
*98: <a class="button-link" href="../employer.html">Back</a>*
99 </div>
100
但是如果我放入替换区域:
<p>
<a class="button-link" (.+)>Back</a>
</p>
这将简单地用上面的代码替换每个实例。我应该把什么放在&#34;替换&#34;区域?目前我有这个:
非常感谢
答案 0 :(得分:1)
请勿使用<a class="button-link" (.+)>
选择您的代码。尝试将其与
<a class="button-link" >Next</a><a class="button-link">Back</a>
您将看到why。
正则表达不是解析HTML的最佳工具,但如果您小心并且使用仅限于易于输入和手动使用,则可以使用
<a class="button-link" ([^>]+)>Back</a>
并替换为
<p>
<a class="button-link" \1>Back</a>
</p>
您正在捕获第一个捕获组中的href
:要在替换中将其回调,语法为\1
。
[^>]
表示&#34;任何字符,但>
&#34;并且会阻止正则表达式出去&#34;当前标签。