【问题标题】:What regex matches this type of timestamp什么正则表达式匹配这种类型的时间戳
【发布时间】:2011-05-03 06:32:18
【问题描述】:

我有一个具有以下时间戳格式的日志文件:

May 02 13:27:15.722996

我应该使用什么正则表达式来匹配它?即从两百个字符的行我只想返回这个特定的字符串 - 它总是在行的开头......

【问题讨论】:

  • 将在 Python 中运行。

标签: python regex timestamp


【解决方案1】:

一个简单的模式可以是:

^\w+\s\d\d\s\d\d:\d\d:\d\d\.\d+

其实没什么大不了的。您可以将\d 替换为[0-9],或者将其压缩一点,但这非常简单。如果您没有前导零(例如May 3 1:2:3.34),您可能还希望将一些数字设为可选:

^\w+\s\d\d?\s\d\d?:\d\d?:\d\d?\.\d+

【讨论】:

    【解决方案2】:

    怎么样

    /^[A-Z][a-z]{2,} \d{2} \d{2}:\d{2}:\d{2}\.\d{6}$/
    

    【讨论】:

    • 别忘了设置^$ 应该在行首/行尾匹配的选项。
    • 在 Python 中,应该是 myre = re.compile(r"^[A-Z][a-z]{2,} \d{2} \d{2}:\d{2}:\d{2}\.\d{6}$", re.M)
    猜你喜欢
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多