notepad ++:保留正则表达式(每行多次出现)和行结构,删除其他字符

时间:2013-04-29 08:29:23

标签: regex notepad++ data-cleansing

我有一个带有专利信息的130k行文本文件,我只想保留日期(正则表达式"[0-9]{4}-[0-9]{2}-[0-9]{2} ")以便在Excel中进行后续工作。为此,我需要保持线结构完整(也是空行)。我的主要问题是,在删除所有其他信息时,我似乎找不到在同一行中识别和保留多个日期信息的方法。

原始文件结构:

US20110228428A1 | US |   | 7 | 2010-03-19 | SEAGATE TECHNOLOGY LLC
US20120026629A1 | US |   | 7 | 2010-07-28 | TDK CORP | US20120127612A1 | US |   | EXAMINER | 2010-11-24 |   | US20120147501A1 | US |   | 2 | 2010-12-09 | SAE MAGNETICS HK LTD,HEADWAY TECHNOLOGIES INC

所需的文件结构:

2010-03-19 
2010-07-28 2010-11-24 2010-12-09 

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

搜索

.*?(?:([0-9]{4}-[0-9]{2}-[0-9]{2})|$)

并替换为

" $1"

不要放置引号,只是为了显示$1之前有空格。这也将在连续第一场比赛之前放置一个空格。

此正则表达式会在找到日期或行结束(.*?)之前尽可能少地匹配$。如果找到日期,则由于左右括号,它会存储在$1中。因此,替换时只需添加一个空格来分隔找到的日期,然后从$1中找到找到的日期。