如何在 Intelij Idea/Android Studio 中创建 2 个捕获组并替换它们?

如何在 Intelij Idea/Android Studio 中创建 2 个捕获组并替换它们?

我想找到这个:(?<name>lastBid = \d+?),(?<name2>lastBid = \d?) 并用这个替换${name}\nrandomtext|${name2}\nrandomtexts。我该怎么做?我在文本中没有找到匹配项:

     lastBid = 25
        lastBid = 3

编辑:好的,如果我想在两个 lastBid 之间使用一些文本。例如:

  lastBid = 25
dfdfdfdf
lastBid = 3

如果我使用: (?<name>lastBid = 2[0-5])|(?<name2>lastBid = [0-9]) 并替换: ${name}\nrandomtext\n${name2}\nrandomtexts 我会得到这个:

 lastBid = 25
randomtext

randomtexts
dfdfdfdf
    
randomtext
lastBid = 3
randomtexts

但我的期望是这样的:

 lastBid = 25
randomtext
dfdfdfdf
lastBid = 3
randomtexts

我怎样才能做到这一点?

答案1

(?<name>lastBid = \d+?),(?<name2>lastBid = \d?)火柴:

lastBid = 25,lastBid = 3

匹配

 lastBid = 25
    lastBid = 3

你需要(?<name>lastBid = \d+)\s+(?<name2>lastBid = \d)

其中\s*代表 0 个或多个空格(包括换行符)。


根据请求更改进行编辑:

  • 寻找:(?<name>lastBid = 2[0-5])([\s\S]*?)(?<name2>lastBid = [0-9])
  • 代替:${name}\nrandomtext$2${name2}\nrandomtexts

演示与说明

相关内容