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

时间:2018-06-05 10:43:18

标签: 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.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 个答案:

答案 0 :(得分:1)

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

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

\d{2}:\d{2}:\d{2}\t\d{2}\.\d

或 - 如果您只需匹配整行 - 添加行锚:

^\d{2}:\d{2}:\d{2}\t\d{2}\.\d$

并替换为

2018-04-13\t$0\t0.020

替换模式中的$0代表整个匹配值,无需用捕获组包装整个模式。

enter image description here