【发布时间】:2012-09-24 05:11:03
【问题描述】:
我正在研究一个正则表达式,以从具有固定宽度间距的大型机日志行中提取确切的字符(...正则表达式不是我的强项,顺便说一句)。
我想提取 Status 字段的字段值,该字段是包含以下示例事件中显示的 SUCCESSFUL AUDIT、LOGON COMPLETE 和 FINAL FAILED AUDIT 值的固定长度字段。
这个固定长度的字段有很多值,所以我不能像我试图做的那样真正提取文字字符串值。
相反,我想提取从事件第 54 位开始且长度为正好 18 个字符的所有字符。
任何关于正则表达式或方法等的帮助或想法,将不胜感激。
528 LOGON 39690 SECURITY LAPTOP 8481 USER AB11 SUCCESSFUL AUDIT BBB908AFB 06/20/12 09:11:43PM
528 LOGON 39692 SECURITY LAPTOP 8495 USER AB11 LOGON COMPLETE BBB908AFB 06/20/12 09:12:12PM
528 LOGOFF 39699 SECURITY DESKTOP 4476 USER ABEQ FINAL FAILED AUDITAADAFCC01 06/20/12 09:55:49PM
【问题讨论】:
-
a) 您需要使用特定语言吗?如果是这样,请添加标签并提及它。 b) 是否打算在
FINAL FAILED AUDIT之后没有空格? c) 最后一行的状态字段如何从与前两行相同的位置开始?LOGOFF和DESKTOP分别比LOGON和LAPTOP长一个字符。将示例字符串打印为代码而不是块引用应该更清楚地显示这一点。
标签: regex