我正在尝试清理日志文件以在Splunk中对它们进行分类,所以我的问题是:
(?i)^(?:[^] *){8}(?P。+)((?= \ d {8} \ d {8} \ d {10})|。?。?(= \ d {8}))
粗体区域需要像if / else一样组合,[它在粗线之前选择好]
我希望它在刚好8位数之前停止并且点(ddddddd。)或8digit_8digit_10digits(8xd_8xd_10xd。)
我的任务是删除日志文件中的所有唯一数字,我可以更好地对其进行分类。
请帮助
答案 0 :(得分:0)
你可以让以前的.+
懒惰:
(?i)^(?:[^ ]* ){8}(?P<FIELDNAME>.+?)((?=\d{8}_\d{8}_\d{10}\.)|(?=\d{8}\.))
^
贪婪,它会尽可能地停止在最初的比赛中。我最后删除了?
,因为只要前面有8位数字,它就会停止。此外,您实际上可以组合这些前瞻:
(?i)^(?:[^ ]* ){8}(?P<FIELDNAME>.+?)(?=\d{8}(?:_\d{8}_\d{10})?\.)