# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r".*martian.*source.*\n.*"
test_str = ("Jan 10 11:08:21 server kernel: martian source 192.168.12.197 from 192.168.12.198, on dev eth0\n"
"Jan 11 10:12:45 server kernel: ll header: 08:00:00:00:45:00:01:00:00:00:40:00:40:11:9f:11:c0:a8:0c:c6:c0:a8:0c:c5\n"
"Jan 12 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 13 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 14 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 15 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 16 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 17 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 18 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 19 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 20 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 21 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 22 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 23 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 23 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 24 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 25 11:08:21 server kernel: martian source 192.168.12.197 from 192.168.12.198, on dev eth0\n"
"Jan 25 10:12:45 server kernel: ll header: 08:00:00:00:45:00:01:00:00:00:40:00:40:11:9f:11:c0:a8:0c:c6:c0:a8:0c:c5\n"
"Jan 26 11:08:21 server kernel: martian source 192.168.12.197 from 192.168.12.198, on dev eth0\n"
"Jan 26 10:12:45 server kernel: ll header: 08:00:00:00:45:00:01:00:00:00:40:00:40:11:9f:11:c0:a8:0c:c6:c0:a8:0c:c5\n"
"Jan 27 10:12:45 server kernel: lo: Disabled Priacy Extensions\n"
"Jan 28 11:08:21 server kernel: martian source 192.168.12.197 from 192.168.12.198, on dev eth0\n"
"Jan 28 10:12:45 server kernel: ll header: 08:00:00:00:45:00:01:00:00:00:40:00:40:11:9f:11:c0:a8:0c:c6:c0:a8:0c:c5")
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.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html