【发布时间】:2011-05-03 06:32:18
【问题描述】:
我有一个具有以下时间戳格式的日志文件:
May 02 13:27:15.722996
我应该使用什么正则表达式来匹配它?即从两百个字符的行我只想返回这个特定的字符串 - 它总是在行的开头......
【问题讨论】:
-
将在 Python 中运行。
我有一个具有以下时间戳格式的日志文件:
May 02 13:27:15.722996
我应该使用什么正则表达式来匹配它?即从两百个字符的行我只想返回这个特定的字符串 - 它总是在行的开头......
【问题讨论】:
一个简单的模式可以是:
^\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+
【讨论】:
怎么样
/^[A-Z][a-z]{2,} \d{2} \d{2}:\d{2}:\d{2}\.\d{6}$/
【讨论】:
^ 和$ 应该在行首/行尾匹配的选项。
myre = re.compile(r"^[A-Z][a-z]{2,} \d{2} \d{2}:\d{2}:\d{2}\.\d{6}$", re.M)