【问题标题】:How to replace html tags but keep the text in between?如何替换html标签但将文本保留在两者之间?
【发布时间】:2019-08-27 18:40:09
【问题描述】:

我想将文本保留在 span 标签之间。但是替换表达式有问题...

我正在使用 Calibre 文本编辑器。

    Find:
    <span class="Heading3-strong">(.*?)</span>
    Replace:
    <strong>(.*?)</strong>

    Input:
    <span class="Heading3-strong">some text goes here</span>
    Output:
    <strong>some text goes here</strong>

【问题讨论】:

  • 请在您说“替换表达式”时添加更多上下文。
  • 即使是“不推荐”,我还是要用Regex。
  • 您能提供更多信息吗?您使用什么工具来运行查找和替换 - 一些文本编辑器,一些编程语言?输入是什么?预期的输出是什么?
  • 替换错误,应该是&lt;strong&gt;\1&lt;/strong&gt;
  • 尝试 \1 而不是 Wiktor 建议的 $1。 \1 是一个常见的反向引用,用于引用您的 find (.*?) 中定义的捕获组

标签: html regex text-editor


【解决方案1】:

替换模式不能是正则表达式,它是一个普通字符串,可能包含\n形式的反向引用,其中n是组ID(它们从1开始)。

所以,在你的情况下,你需要使用

<strong>\1</strong>

其中\1 是与(.*?) 匹配的文本。

查看更多信息here

【讨论】:

    猜你喜欢
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 2021-07-21
    • 2010-12-23
    • 1970-01-01
    • 2015-11-19
    相关资源
    最近更新 更多