# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(?<date>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z)\s+(?<src>\w+)\s+CEF:(?<version>\d+)\|(?<device_vendor>\w+)\|(?<device_product>\w+)\|(?<device_version>[\d.]*)\|(?<signature_id>[\w\d]*)"
test_str = "2018-12-13T10:25:52.647Z imdgnparser01 CEF:0|MCAS|SIEM_Agent|0.138.173|EVENT_CATEGORY_AZURE_OPERATION|Azure operation|0|externalId=ffc53f2d8811bde87ee94bb86dc062442ec48df5303dd262e424ceeeecba8f91 rt=1544696752647 start=1544696752647 end=1544696752647 msg=ListAccountSas StorageAccounts: resource phastneprd02 - Started suser=11c174dc-1945-4a9a-a36b-c79a0f246b9b destinationServiceName=Microsoft Azure dvc=13.94.250.141 requestClientApplication= cs1Label=portalURL cs1=https://starsweb.eu2.portal.cloudappsecurity.com/#/audits?activity.id\\=eq(ffc53f2d8811bde87ee94bb86dc062442ec48df5303dd262e424ceeeecba8f91,) cs2Label=uniqueServiceAppIds cs2=APPID_AZURE cs3Label=targetObjects cs3=phastneprd02,Microsoft.Storage/storageAccounts,DWH_DataPlatform,,Operation status,Windows Azure Application Insights cs4Label=policyIDs cs4= c6a1Label=\"Device IPv6 Address\" c6a1=#015"
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