# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"<\d+>\S+\s(\d{4}-\d{2}-\d{2})\s(\d{2}\x3a\d{2}\x3a\d{2}),\d+\s\x5b\d+\x5d\s+\S+\s+\S+\s\S+\s+\S+\s+\S+\s\S+\s\ServerIPAddress\x3a\s\S+\s((?:\d{1,3}\x2e){3}\d{1,3})\s+ClientIPAddress\x3a\s(\S+)\s\S+\s\S+\s\S+\s\S+\s+\S+\s\S+\s+\S+\s\S+\s+\S+\s\S+\s+\S+\s+\S+\s+MessageText\x3a\s(Admin\sActivity)\s+UserId\x3a\s(\d+)\s+UserName\x3a\s(\S+)\s+Action\sDate\/Time\x3a\s+\S+\s\S+\s\S+\s+Portal\sGroup\sId\x3a\s(\d+)\s+Portal Group Name\x3a\s([a-zA-Z\s]+)\s+Action\sType\x3a\s([a-zA-Z\s]+)\sAction\sDetail\x3a([a-zA-Z0-9\.\;\s\:]+)\sArea\sOf\sAdministration\x3a\s(\S+)\s+Portal\sId\x3a\s(\d+)\s+Portal\sName\x3a\s([a-zA-Z0-9\s]+)\s+Enterprise\sUser\x3a\s(\S+)"
test_str = ("<190>MedSeekBusinessServer.exe: 2016-08-08 09:04:06,965 [4] INFO MedSeek.Portal.Server.LoggingProvider.Data.AuditTrailSqlDao UserID: -9999 UserName: System ServerIPAddress: 10.247.82.26 10.247.82.112 ClientIPAddress: (null) PortalId: (null) PortalName: (null) AssemblyName: MedSeek.Portal.Server.LoggingProvider\n"
" ClassName: AuditTrailSqlDao\n"
" MethodName: LogToSysLog\n"
" CustomProps: 6ZalfDCycQw=\n"
" MessageText: Admin Activity\n"
" UserId: 301640\n"
" UserName: myost6\n"
" Action Date/Time: 8/8/2016 1:04:06 PM\n"
" Portal Group Id: 1273153\n"
" Portal Group Name: myCarolinas Admin\n"
" Action Type: Update User\n"
" Action Detail: User updated. User ID: 301640; UserName: myost6; \n"
" Area Of Administration: Users\n"
" Portal Id: 6\n"
" Portal Name: my Carolinas Mobile\n"
" Enterprise User: False\n"
"<190>MedSeekBusinessServer.exe: 2016-08-08 09:04:06,965 [4] INFO MedSeek.Portal.Server.LoggingProvider.Data.AuditTrailSqlDao UserID: -9999 UserName: System ServerIPAddress: 10.247.82.26 10.247.82.112 ClientIPAddress: (null) PortalId: (null) PortalName: (null) AssemblyName: MedSeek.Portal.Server.LoggingProvider\n"
" ClassName: AuditTrailSqlDao\n"
" MethodName: LogToSysLog\n"
" CustomProps: 6ZalfDCycQw=\n"
" MessageText: Admin Activity\n"
" UserId: 301640\n"
" UserName: myost6\n"
" Action Date/Time: 8/8/2016 1:04:06 PM\n"
" Portal Group Id: 1273153\n"
" Portal Group Name: myCarolinas Admin\n"
" Action Type: Update User\n"
" Action Detail: User updated. User ID: 301640; UserName: myost6; \n"
" Area Of Administration: Users\n"
" Portal Id: 6\n"
" Portal Name: my Carolinas Mobile\n"
" Enterprise User: False \n"
"<190>MedSeekBusinessServer.exe: 2016-08-08 09:04:12,815 [4] INFO MedSeek.Portal.Server.LoggingProvider.Data.AuditTrailSqlDao UserID: -9999 UserName: System ServerIPAddress: 10.247.82.26 10.247.82.112 ClientIPAddress: (null) PortalId: (null) PortalName: (null) AssemblyName: MedSeek.Portal.Server.LoggingProvider\n"
" ClassName: AuditTrailSqlDao\n"
" MethodName: LogToSysLog\n"
" CustomProps: 6ZalfDCycQw=\n"
" MessageText: Admin Activity\n"
" UserId: 244010\n"
" UserName: katdbod\n"
" Action Date/Time: 8/8/2016 1:04:12 PM\n"
" Portal Group Id: 1273153\n"
" Portal Group Name: myCarolinas Admin\n"
" Action Type: Update User\n"
" Action Detail: User updated. User ID: 244010; UserName: katdbod; \n"
" Area Of Administration: Users\n"
" Portal Id: 2\n"
" Portal Name: myCarolinas\n"
" Enterprise User: False\n"
"<190>MedSeekBusinessServer.exe: 2016-08-08 09:04:12,815 [4] INFO MedSeek.Portal.Server.LoggingProvider.Data.AuditTrailSqlDao UserID: -9999 UserName: System ServerIPAddress: 10.247.82.26 10.247.82.112 ClientIPAddress: (null) PortalId: (null) PortalName: (null) AssemblyName: MedSeek.Portal.Server.LoggingProvider%0D ClassName: AuditTrailSqlDao%0D MethodName: LogToSysLog%0D CustomProps: 6ZalfDCycQw=%0D MessageText: Admin Activity%0D UserId: 244010%0D UserName: katdbod%0D Action Date/Time: 8/8/2016 1:04:12 PM%0D Portal Group Id: 1273153%0D Portal Group Name: myCarolinas Admin%0D Action Type: Update User%0D Action Detail: User updated. User ID: 244010; UserName: katdbod; %0D Area Of Administration: Users%0D Portal Id: 2%0D Portal Name: myCarolinas%0D Enterprise User: False%0D \n"
"<190>MedSeekBusinessServer.exe: 2016-08-08 09:04:12,971 [4] INFO MedSeek.Portal.Server.LoggingProvider.Data.AuditTrailSqlDao UserID: -9999 UserName: System ServerIPAddress: 10.247.82.26 10.247.82.112 ClientIPAddress: (null) PortalId: (null) PortalName: (null) AssemblyName: MedSeek.Portal.Server.LoggingProvider%0D ClassName: AuditTrailSqlDao%0D MethodName: LogToSysLog%0D CustomProps: 6ZalfDCycQw=%0D MessageText: Admin Activity%0D UserId: 244010%0D UserName: katdbod%0D Action Date/Time: 8/8/2016 1:04:12 PM%0D Portal Group Id: 1273153%0D Portal Group Name: myCarolinas Admin%0D Action Type: Update User%0D Action Detail: User updated. User ID: 244010; UserName: katdbod; %0D Area Of Administration: Users%0D Portal Id: 2%0D Portal Name: myCarolinas%0D Enterprise User: False%0D \n"
"<190>MedSeekBusinessServer.exe: 2016-08-08 09:04:12,971 [4] INFO MedSeek.Portal.Server.LoggingProvider.Data.AuditTrailSqlDao UserID: -9999 UserName: System ServerIPAddress: 10.247.82.26 10.247.82.112 ClientIPAddress: (null) PortalId: (null) PortalName: (null) AssemblyName: MedSeek.Portal.Server.LoggingProvider%0D ClassName: AuditTrailSqlDao%0D MethodName: LogToSysLog%0D CustomProps: 6ZalfDCycQw=%0D MessageText: Admin Activity%0D UserId: 244010%0D UserName: katdbod%0D Action Date/Time: 8/8/2016 1:04:12 PM%0D Portal Group Id: 1273153%0D Portal Group Name: myCarolinas Admin%0D Action Type: Update User%0D Action Detail: User updated. User ID: 244010; UserName: katdbod; %0D Area Of Administration: Users%0D Portal Id: 2%0D Portal Name: myCarolinas%0D Enterprise User: False%0D \n"
"<190>MedSeekBusinessServer.exe: 2016-08-08 09:04:33,766 [4] INFO MedSeek.Portal.Server.LoggingProvider.Data.AuditTrailSqlDao UserID: -9999 UserName: System ServerIPAddress: 10.247.82.26 10.247.82.112 ClientIPAddress: (null) PortalId: (null) PortalName: (null) AssemblyName: MedSeek.Portal.Server.LoggingProvider%0D ClassName: AuditTrailSqlDao%0D MethodName: LogToSysLog%0D CustomProps: 6ZalfDCycQw=%0D MessageText: Admin Activity%0D UserId: 164664%0D UserName: rrrleigh%0D Action Date/Time: 8/8/2016 1:04:33 PM%0D Portal Group Id: 1273153%0D Portal Group Name: myCarolinas Admin%0D Action Type: Change User Password%0D Action Detail: Password changed for user. User ID: 164664; %0D Area Of Administration: Users%0D Portal Id: 2%0D Portal Name: myCarolinas%0D Enterprise User: False%0D \n"
"<190>MedSeekBusinessServer.exe: 2016-08-08 09:04:33,766 [4] INFO MedSeek.Portal.Server.LoggingProvider.Data.AuditTrailSqlDao UserID: -9999 UserName: System ServerIPAddress: 10.247.82.26 10.247.82.112 ClientIPAddress: (null) PortalId: (null) PortalName: (null) AssemblyName: MedSeek.Portal.Server.LoggingProvider%0D ClassName: AuditTrailSqlDao%0D MethodName: LogToSysLog%0D CustomProps: 6ZalfDCycQw=%0D MessageText: Admin Activity%0D UserId: 164664%0D UserName: rrrleigh%0D Action Date/Time: 8/8/2016 1:04:33 PM%0D Portal Group Id: 1273153%0D Portal Group Name: myCarolinas Admin%0D Action Type: Change User Password%0D Action Detail: Password changed for user. User ID: 164664; %0D Area Of Administration: Users%0D Portal Id: 2%0D Portal Name: myCarolinas%0D Enterprise User: False%0D \n")
matches = re.search(regex, test_str)
if matches:
print ("Match was found at {start}-{end}: {match}".format(start = matches.start(), end = matches.end(), match = matches.group()))
for groupNum in range(0, len(matches.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = matches.start(groupNum), end = matches.end(groupNum), group = matches.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