正则表达式以分割线,以制表符分隔

时间:2019-03-21 21:01:12

标签: regex

我有一个文件,其中包含以下几行

第123456行89 2018-02-12 14:47:07 +0000在这里 234567 90 2019-02-13 09:02:01 +0000那里

所以我想将它们分成每一行的最后四个部分

这是规则表达式 “ \ t \ d {6} \ t \ d {2} \ t \ w +”

它发出了

123456 \ t89 \ t2018 234567 \ t90 \ t2019

如何更新正则表达式以获取

123456 \ t89 \ t2018-02-12 14:47:07 \有 234567 \ t90 \ t2019-02-13 09:02:01 \ tthere

相反?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的正则表达式"\t\d{6}\t\d{2}\t\w+"的末尾与下一个非单词字符匹配,该字符恰好是年份项目后的破折号。要捕获其余字符,我建议使用负字符类,该类匹配\t以外的所有字符。那就是:

"\t\d{6}\t\d{2}\t[^\t]+\t\w+"

通常,这比肯定地说出所有可能出现的字符要容易。