在IntelliJ IDEA中使用命名捕获组进行替换

jslywgbw  于 2022-12-17  发布在  IntelliJ IDEA
关注(0)|答案(1)|浏览(134)

我正在使用IntelliJ IDEA的查找和替换工具:

我的正则表达式:<h2>(?<title>.*?)</h2>
我希望在替换字符串中使用我命名的捕获组。我知道可以使用$1来引用第一个捕获组,但我希望使用其名称。
我试过了,但没有用:

  • $title
  • $<title>
  • $'title'
  • $"title"
  • $(title)
  • $[title]
  • $['title']
  • $["title"]
  • x1米10英寸1x
  • x1米11米1x
  • $[<title>]
  • $['<title>']
  • $["<title>"]
  • $('<title>')
  • $("<title>")
  • $<"title">
liwlm1x9

liwlm1x91#

我在IntelliJ中尝试使用一个命名的捕获组时偶然发现了这个问题的解决方案,但我一直无法找到相关文档。
官方文件现在展示了这是如何做到的(感谢@Pang):

  • 编号的捕获组使用$n,例如 * 查找:* <h2>(.*?)</h2> * 替换:* $1
  • 命名捕获组使用${<name>},例如 * 查找:* <h2>(?<title>.*?)</h2> * 替换:* ${title}

相关问题