【问题标题】:Find in files and wrap with tag - Sublime在文件中查找并用标签包装 - Sublime
【发布时间】:2014-05-20 09:42:39
【问题描述】:

我的网站上有许多链接,我想用一些标签来包装,我可以使用 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>

这将简单地用上面的代码替换每个实例。我应该在“替换”区域放什么?目前我有这个:

非常感谢

【问题讨论】:

    标签: html regex replace sublimetext2 sublimetext


    【解决方案1】:
    1. 不要使用&lt;a class="button-link" (.+)&gt; 来选择您的标签。尝试将其与

      匹配
      <a class="button-link" >Next</a><a class="button-link">Back</a>
      

      你会看到why

    2. 正则表达式不是解析 HTML 的最佳工具,但如果你小心并且使用仅限于轻松输入和手动使用,你可以使用

      <a class="button-link" ([^>]+)>Back</a>
      

      替换为

      <p>
        <a class="button-link" \1>Back</a>
      </p>
      

    您正在第一个捕获组中捕获href:要在替换语法中调用它,语法为\1

    [^&gt;] 表示“除&gt; 之外的任何字符”,并且会阻止正则表达式“退出”当前标签。

    【讨论】:

      猜你喜欢
      • 2013-06-23
      • 2013-04-14
      • 2011-01-15
      • 2013-11-12
      • 1970-01-01
      • 2019-04-02
      • 2020-03-20
      • 1970-01-01
      • 2020-02-21
      相关资源
      最近更新 更多