如何用正则表达式提取含Extracted行中in与ms间的数字
解决方案:提取目标日志行的耗时数值
直接使用以下正则表达式,既能定位包含Extracted的日志行,又能精准捕获in和ms之间的耗时数字:
^.*\bExtracted\b.*in (\d+) ms\.$
正则说明
^.*\bExtracted\b.*:保留你原本的逻辑,确保只匹配包含Extracted关键字的日志行in (\d+) ms\.:精准匹配"in 数字 ms."的结构,其中(\d+)是捕获组,会提取出一个或多个连续的数字(即耗时数值),\.用于匹配日志行末尾的句号(避免匹配任意字符)
使用示例
针对你提供的日志:
2022-01-11 20:28:10,324 CET INFO log.persistence 1103:0038 [ebx-boot] Extracted archive Archive_ZipFile[D:\Tomcat9054\webapps\ebx_common-resources\configuration\mima\export\MIMA\files\data\Directory_Configuration\Configuration\archives\Configuration.ebx]@26ec4785 in 16 ms.
该正则会匹配这一行,捕获组1的内容为16,也就是你需要的耗时数值。
内容的提问来源于stack exchange,提问作者acets13
相关产品推荐
相关产品推荐

