我得到一个有关设备正常运行时间的字符串,如下所示:
swLUZ01 uptime is 1 year, 11 weeks, 1 day, 11 hours, 9 minutes
我构建了一个与前2个条目匹配的正则表达式,并将它们放在一个组中:
(\D+\d+) uptime is (\d+ \w+\, \d+ \w+)
到目前为止,该方法有效。现在我只想捕获超过3周的设备。在此示例中,它可与以下正则表达式一起使用:
(\D+\d+) uptime is (\d+ \w+\, ([3-9]|\d{2}) weeks)
但这仅在年份和星期每次都以相同顺序排列时才有效。可悲的是,设备的正常运行时间可能如下所示:
swLUZ01 uptime is 4 weeks, 5 days, 14 hours, 2 minutes
swLUZ01 uptime is 1 week, 2 days, 9 hours, 55 minutes
swLUZ01 uptime is 1 hour, 16 minutes
因此,如果是单数,则发音从几周到一周都会变化。如果有超过x周的时间,是否有正则表达式可以匹配我?如果根本没有找到星期,就不应该比赛。我需要将结果放在一个组中,因为稍后在我的规则手册中将对此进行引用。 (主要基础架构合规性审核政策)