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

Regex 在使用正则表达式替换时,如何保留匹配字符串的一部分?,regex,notepad++,Regex,Notepad++,我有 以此类推,作为文本文件中列出的文件名 我只需要将数字前面的点(.)替换为空格。(例如,12.hello.mp3=>12 hello.mp3)。 如果我将正则表达式设为“[0-9]”,它也会替换数字。 请帮帮我。更换 12.hello.mp3 21.true.mp3 35.good.mp3 . . . 与 此外,在notepad++的最新版本中,它还将接受以下内容,其他IDE/编辑器也接受这些内容(如Intellij IDEA等JetBrains产品): 这假设notepad++正则表达式

我有

以此类推,作为文本文件中列出的文件名

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

更换

12.hello.mp3
21.true.mp3
35.good.mp3
.
.
.

此外,在notepad++的最新版本中,它还将接受以下内容,其他IDE/编辑器也接受这些内容(如Intellij IDEA等JetBrains产品):


这假设notepad++正则表达式匹配引擎支持组。正则表达式的基本意思是:将第一个点前面的数字匹配为第1组,将其后面的所有数字匹配为第2组(但仅当它以mp3结尾时)

使用基本模式,在这里的公认答案中有一个添加
class=“odd”
class=“偶数”的示例
到记事本++或任何其他与正则表达式兼容的编辑器中的每个
元素:

查找内容:
()(.*?\r\n)(.*?\r\n)


替换为:
\2\4

@Doug是的,这些组是由parathesesThanks定义的,我甚至不知道这在regexThanks中是可能的。但为了匹配所有行,它对我有效,而不使用^。或者它只匹配第一行。测试可能重复的
^(\d+)\.(.*mp3)$
\1 \2
$1 $2