我有一个带有专利信息的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
感谢您的帮助!
答案 0 :(得分:3)
搜索
.*?(?:([0-9]{4}-[0-9]{2}-[0-9]{2})|$)
并替换为
" $1"
不要放置引号,只是为了显示$1
之前有空格。这也将在连续第一场比赛之前放置一个空格。
此正则表达式会在找到日期或行结束(.*?
)之前尽可能少地匹配$
。如果找到日期,则由于左右括号,它会存储在$1
中。因此,替换时只需添加一个空格来分隔找到的日期,然后从$1
中找到找到的日期。