如何替换以模式开头的文本?

时间:2019-10-29 22:59:04

标签: regex notepad++

我在notepad ++ 7.5.2文本编辑器中打开了此文本:

- Note 1 message={"one":1}]
- Note 5 message={"two":2}]
- Note 2 message={"three":3}]
- Note 7 message={"four":4}]

对于每行,我只想保留括号{}和括号之间的文本以及括号本身。我在https://regex101.com/中尝试了正则表达式- Note.* message=,它可以正常工作。我能够在记事本++中找到与正则表达式匹配的行。但是,我无法一无所获。

我该如何更换?

1 个答案:

答案 0 :(得分:2)

您可以使用

^- Note.* message=(.*)]$

替换为$1。参见regex demo

详细信息

  • ^-一行的开头
  • - Note-- Note文字
  • .*-除换行符以外的任意0+个字符,并且尽可能多
  • message=- message=文字
  • (.*)-捕获组1($1):除换行符之外的任意0+个字符,并且尽可能多
  • ]-一个]字符
  • $-行尾。

Notepad ++演示和设置:

enter image description here