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

Ada*_*ams 21 intellij-idea

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

查找/替换工具的屏幕截图

我的正则表达式: <h2>(?<title>.*?)</h2>

我想在替换字符串中使用我的命名捕获组.我知道我可以$1用来引用第一个捕获组,但我想用它的名字.

我试着无济于事:

  • $title
  • $<title>
  • $'title'
  • $"title"
  • $(title)
  • $[title]
  • $['title']
  • $["title"]
  • $("title")
  • $('title')
  • $[<title>]
  • $['<title>']
  • $["<title>"]
  • $('<title>')
  • $("<title>")
  • $<"title">

par*_*doX 26

在尝试使用IntelliJ中的命名捕获组时,我偶然发现了解决方案.我无法找到它的文档.

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

  • IntelliJ 帮助文档:https://www.jetbrains.com/help/idea/tutorial-finding-and-replacing-text-using-regular-expressions.html#capture_groups_and_backreference (4认同)
  • 天哪,这太棒了!这将节省我很多时间! (2认同)