正则表达式用引号括起日期

时间:2012-11-06 22:17:58

标签: regex notepad++

我有一个数据列表,所有数据都是我需要在Weka中分析的相同格式。

我需要用引号“”包围日期/时间值,但是不能用正则表达式来完成它。

我需要更改一行:

1028,NULL,1,21,7,AD9,06A,60136859,NULL,1,4,3,2012-02-21 10:05:00.100,2012-02-21 10:05:23.170

到这样一行:

1027,NULL,1,21,7,AD9,06A,60136859,NULL,1,5,4,"2012-02-21 10:03:53.643","2012-02-21 10:04:29.787"

其中日期/时间值用引号括起来。

1 个答案:

答案 0 :(得分:4)

只要您的日期时间值始终完全格式化,这将在记事本++中有效。

Find what: (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3})
Replace with: "\1"

这是因为反向引用。括号内捕获的所有内容都存储为反向引用。您可以通过键入\number来访问反向引用,其中数字与正则表达式中的括号位置相关。因为我们只使用一对括号,需要反向引用1,我们使用\1

因此,您找到了entire date,并且由于正则表达式中的括号,它会存储在\1中。然后,将entire date替换为"entire date"又名"\1"