在使用正则表达式替换时,如何保留匹配字符串的一部分?

Sri*_*ist 40 regex notepad++

我有

12.hello.mp3
21.true.mp3
35.good.mp3
.
.
.
Run Code Online (Sandbox Code Playgroud)

等等,作为文本文件中列出的文件名.

我需要用空格替换那些数字前面的点(.)(例如12.hello.mp3 => 12 hello.mp3).如果我将正则表达式设为"[0-9].",它也会替换数字.请帮我.

Ioa*_*ucu 61

更换

^(\d+)\.(.*mp3)$
Run Code Online (Sandbox Code Playgroud)

\1 \2
Run Code Online (Sandbox Code Playgroud)

此外,在最近版本的notepad ++中,它也会接受以下内容,其他IDE /编辑也接受这些内容(例如,像Intellij IDEA这样的JetBrains产品):

$1 $2
Run Code Online (Sandbox Code Playgroud)

这假设记事本++正则表达式匹配引擎支持组.正则表达式的基本含义是:将第一个点前面的数字匹配为组1,将其后的所有数字匹配为组2(但仅限于以mp3结尾)

  • 这些组是用括号定义的,对吗? (4认同)
  • @Doug 是的,这些组是由 paratheses 定义的 (2认同)