【问题标题】:Notepad++ Regex Backreference missingNotepad++ 正则表达式反向引用丢失
【发布时间】:2011-11-29 12:52:41
【问题描述】:

我有这个 HTML 部分:

<a href="http://always-same-path.to/my/file.pdf">Random reference</a>

这一行存在于很多文件中。

我需要将其替换为:

Random reference <lots>of tags</lots>

通常的正则表达式 (Ctrl + F) 效果很好。不幸的是,替换文本太长了,不能在通常的正则表达式中使用,所以我使用了 TextFX 的高级搜索和替换插件。

这是我的发现:

<a href="http://always-same-path.to/my/file.pdf">(.+)</a>

这是我的替换:

\1 <lots>of tags</lots>

寻找作品(即该行被突出显示) 然而,更换并没有。 我得到了这个:

<lots>of tags</lots>

在“查找/替换”窗口中检查了这些选项:

  • 正则表达式
  • 自动抓取查找文本
  • 换行

提前致谢

【问题讨论】:

  • 也许你应该使用 $1 而不是 \1 ?或者尝试 0 而不是 1。
  • $1 不起作用,\0 也不起作用。不过谢谢!
  • 我刚刚在我的 Notepad++ 上尝试过,只需按 ctrl+H 并使用您的模式并替换字符串。按“全部替换”,一切正常。
  • 正如我所说,它实际上在“Ctrl+H”或“Ctrl+F”窗口中工作。但是我不能在这个窗口中使用它,因为替换字符串太长了。所以我使用高级查找/替换(TextFX 插件)。谢谢。
  • 对我来说很好。在替换之前,我只需要全选 (CTRL+A)。

标签: xml regex notepad++ backreference


【解决方案1】:

对我来说同样的问题,但已解决!

我刚刚在替换字段$0 中使用了它,它起作用了!

我的 Notepad++ 版本:v6.1.5 UNICODE(刚刚更新!-我建议你也这样做)

我正在处理的文件格式:.srt(电影字幕)

“查找内容”字段:^\d+$ [仅包含数字的匹配行]

“替换为”字段:----- $0 ------

【讨论】:

  • 哇。这真的很烦人。 1美元怎么了?和\1?似乎这会改变每个版本。 +1 ...为您的答案!谢谢。
猜你喜欢
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-01
  • 1970-01-01
  • 2016-06-30
  • 1970-01-01
相关资源
最近更新 更多