import re
regex = re.compile(r"-*\nRuntime error\n*User: (?<User>\w.+)\nDomain: (?<Domain>\w.+)\nURI: (?<uri>\/?\w.+)\nReferer: (?<referer>\w.+)\nAgent: (?<agent>\w.+)\n.+\n.+\nweb.Server Traceback \(most recent call last\):\n(?<trace>.(.|\n)*)")
test_str = ("-------------------------------------------------\n"
"Runtime error\n\n"
"User: Dr. AkomaDr (896)\n"
"Domain: staging-app.clickmedix.com \n"
"URI: /users/profile_edit \n"
"Referer: https://staging-app.clickmedix.com/akomapa/users/profile_edit \n"
"Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 \n"
"Params: {} \n"
" \n"
"web.Server Traceback (most recent call last):\n"
"[Failure instance: Traceback: <type 'exceptions.ZeroDivisionError'>: integer division or modulo by zero\n"
"/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/http.py:1349:dataReceived\n"
"/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/http.py:1563:_finishRequestBody\n"
"/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/http.py:1618:allContentReceived\n"
"/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/http.py:773:requestReceived\n"
"--- <exception caught here> ---\n"
"/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/server.py:131:process\n"
"/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/server.py:562:getResourceFor\n"
"/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/resource.py:65:getChildForRequest\n"
"/srv/click/shared/virtualenv/src/warp/warp/webserver/resource.py:208:getChildWithDefault\n"
"/srv/click/current/util/helpers.py:78:getResponse\n"
"/srv/click/current/nodes/users/users.py:255:render_profile_edit")
match = regex.search(test_str)
if match:
print(f"Match was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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