# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"Request\:\s\[(?P<req_ip>\d+\.\d+\.\d+\.\d+)"
test_str = ("Jun 20, 2016 17:59:39 [0x7f16b541b700] DEBUG - Request: [192.168.1.88:54368] GET /:/timeline?ratingKey=68803&key=%2Flibrary%2Fmetadata%2F68803&state=paused&playQueueItemID=2831&time=1360507&duration=5694741 (34 live) TLS GZIP\n"
"Jun 20, 2016 17:59:39 [0x7f16b541b700] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.\n"
"Jun 20, 2016 17:59:39 [0x7f16b541b700] DEBUG - Auth: Came in with a super-token, authorization succeeded.\n"
"Jun 20, 2016 17:59:39 [0x7f16b541b700] DEBUG - Client [iqzupp52ref65urd69nng66r] reporting timeline state paused, progress of 1360507/5694741ms for guid=, ratingKey=68803 url=, key=/library/metadata/68803, containerKey=, metadataId=68803\n"
"Jun 20, 2016 17:59:39 [0x7f16b541b700] DEBUG - Play progress on 68803 'Kung Fu Panda 3' - got played 1360507 ms by account 1!\n"
"Jun 20, 2016 17:59:39 [0x7f16b541b700] DEBUG - [Now] User is sydvishus (ID: 1)\n"
"Jun 20, 2016 17:59:39 [0x7f16b541b700] DEBUG - [Now] Device is Chrome (Plex Web (Chrome)).\n"
"Jun 20, 2016 17:59:39 [0x7f16b541b700] DEBUG - [Now] Updated play state for /library/metadata/68803.\n"
"Jun 20, 2016 17:59:39 [0x7f16c1bff700] DEBUG - Completed: [192.168.1.88:54368] GET /:/timeline?ratingKey=68803&key=%2Flibrary%2Fmetadata%2F68803&state=paused&playQueueItemID=2831&time=1360507&duration=5694741 (34 live) TLS GZIP 4ms 276 bytes 200 (pipelined: 20)")
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