-1

From the logs, I would like to find Unique logs or rather unique log template. And use a custome String like < XXX > to show the blanks.

Example,

Server Stats 1001 created by 12, hosted.
Hosting Failed by 12
Server Stats 1003 created by 14, hosted.
Hosting Failed by 14

We could have 2 Unique template.

Server Stats <XXX> created by <XXX>, hosted
Hosting Failed by <XXX>

We could ignore the Logs which does not match at Repeat.

Has QUIT--Anony-Mousse
  • 76,138
  • 12
  • 138
  • 194
user2458922
  • 1,691
  • 1
  • 17
  • 37

1 Answers1

0

Is this regex ok?

Server Stats (\d+) created by (\d+), hosted.
Hosting Failed by (\d+)

Python code:

# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility

import re

regex = (r"Server Stats (\d+) created by (\d+), hosted.\n"
    r"Hosting Failed by (\d+)")

test_str = ("Server Stats 1001 created by 12, hosted.\n"
    "Hosting Failed by 12\n"
    "Server Stats 1003 created by 14, hosted.\n"
    "Hosting Failed by 14")

matches = re.finditer(regex, test_str, re.MULTILINE)

for matchNum, match in enumerate(matches, start=1):

    print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))

    for groupNum in range(0, len(match.groups())):
        groupNum = groupNum + 1

        print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))

# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

This is a demo on regex101.

Oliver Hao
  • 715
  • 3
  • 5