Regex 记事本++;正则表达式搜索和替换

Regex 记事本++;正则表达式搜索和替换,regex,notepad++,Regex,Notepad++,我有一个这种格式的文件 Time Temp 11:13:23 22.6 11:13:25 22.5 11:13:27 22.6 11:13:29 22.6 11:13:31 22.6 11:13:33 22.6 11:13:35 22.7 我需要将时间替换为日期时间并添加当前列 Date/Time Temp Current 2018-04-13 11:13:23 22.6 0.020 2018-04-13 11:13:25 22.

我有一个这种格式的文件

Time    Temp
11:13:23    22.6
11:13:25    22.5
11:13:27    22.6
11:13:29    22.6
11:13:31    22.6
11:13:33    22.6
11:13:35    22.7
我需要将时间替换为日期时间并添加当前列

Date/Time   Temp    Current
2018-04-13 11:13:23 22.6    0.020
2018-04-13 11:13:25 22.5    0.020
2018-04-13 11:13:27 22.6    0.020
2018-04-13 11:13:29 22.6    0.020
2018-04-13 11:13:31 22.6    0.020
2018-04-13 11:13:33 22.6    0.020
我可以找到我想要替换的文本,但我正在努力替换它

Find what \d\d:\d\d:\d\d\t\d\d.\d
Replace with 2018-04-13 "$1" 0.020
我最终得到了

2018-04-13 "" 0.020

请让我知道我做错了什么,谢谢。

问题是您使用
$1
引用了第一个捕获组的值,但您的模式没有捕获组

您可以使用您的模式或此模式(与您的模式几乎相同,请注意转义的
仅与文字点匹配):

或者-如果只需要匹配整条线-添加线锚:

^\d{2}:\d{2}:\d{2}\t\d{2}\.\d$
并替换为

2018-04-13\t$0\t0.020
替换模式中的
$0
代表整个匹配值,无需使用捕获组包装整个模式


您忽略了对模式中的任何内容进行分组,因此没有$1。谢谢,我刚刚将\d\d:\d\d\t\d\d\d替换为(\d\d:\d\d:\d\d\t\d\d)。不要包装整个模式。使用
$0
2018-04-13\t$0\t0.020