正则表达式以秒为单位匹配时间

德伦

我有如下的日志输入行;

ng with SeqID 339708.08/17/2016 16:27:18.946 - JobID 33720: Location 15531 applied clip data successfully. Updating OCAMT_GM_Sent

或者

Retry count 008/17/2016 16:27:15.227 - JobID 33480: Location 15664 applied clip data successfully. Updating OCAMT_GM_Sent

我正在尝试使用正则表达式捕获时间字符串。到目前为止,我想出了以下内容:

[0-9]{2}+[:]+[0-9]{2}+[:]+[0-9]{2}+[.]+[\d]+$

但是还有另一种方法可以更好地捕获所述时间字符串并将其放在bash变量上以提高准确性。

罗伯托·雷亚莱(Roberto Reale)

步骤1:简化原始正则表达式

您的正则表达式可以简化为

\d{2}:\d{2}:\d{2}\.\d+

这是因为[0-9]等价于\d,并且该[]对在单个字符周围是多余的。至于秒和小数部分之间的文字点,建议使用进行转义\

步骤2:捕获秒部分

如果要匹配秒部分,则可以添加一对捕获组的括号。

\d{2}:\d{2}:(\d{2}(?:\.\d+)?)

值得一提的是,此处的匹配更为笼统,因为我们不再假设应该存在小数秒部分(因此,内部非捕获组由?:标记发出信号)。

注意:我假设整个都是PCRE口味。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式以秒为单位匹配时间

来自分类Dev

使用java以毫秒为单位的纪元时间的正则表达式

来自分类Dev

正则表达式以匹配日期和时间

来自分类Dev

正则表达式匹配时间范围

来自分类Dev

正则表达式匹配时间范围

来自分类Dev

匹配时间戳的正则表达式

来自分类Dev

C# 正则表达式匹配时间

来自分类Dev

Java正则表达式匹配为空

来自分类Dev

为拨码操作正则表达式匹配

来自分类Dev

创建正则表达式以匹配持续时间(而非时间)为00:00:00的格式

来自分类Dev

正则表达式表达式匹配等于或大于1,以.5为增量

来自分类Dev

使所有物理/化学/生物学单位的正则表达式匹配?

来自分类Dev

与属性名称中的属性单位匹配的正则表达式,包括特殊字符

来自分类Dev

正则表达式:我无法为匹配关键字创建正则表达式吗?

来自分类Dev

表达式不匹配正则表达式

来自分类Dev

正则表达式匹配纠结的表达式

来自分类Dev

使用正则表达式匹配表达式

来自分类Dev

正则表达式匹配多个表达式?

来自分类Dev

正则表达式 URL 表达式匹配

来自分类Dev

MSVC正则表达式匹配

来自分类Dev

正则表达式匹配-Javascript

来自分类Dev

部分正则表达式匹配

来自分类Dev

正则表达式或不匹配

来自分类Dev

正则表达式匹配行尾

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式以匹配符号&-。'

来自分类Dev

Java正则表达式匹配

来自分类Dev

正则表达式以匹配位数

来自分类Dev

正则表达式嵌套匹配