# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(RT\S+)|((GigabitEthernet|TenGigE|Serial|POS)[\d/]+\S+)\t(\S+)|(Bundle-Ether\d\d\t\S+)"
test_str = (" RTPESPO0305 Bundle-Ether60 REAL_TIME\n"
"RTPESPO0305 Bundle-Ether61 REAL_TIME\n"
"RTACPAE0101 GigabitEthernet0/0/0 REAL_TIME\n"
"RTACPAE0102 GigabitEthernet0/0/0 REAL_TIME\n"
"RTACPAE0101 GigabitEthernet0/0/1 REAL_TIME\n"
"RTACPAE0102 GigabitEthernet0/0/1 REAL_TIME\n"
"RTPERCE0303 GigabitEthernet0/3/0/4.1003 REAL_TIME\n"
"RTECSRR0202 GigabitEthernet0/3/1/10.840 REAL_TIME\n"
"RTPEBLM0104 GigabitEthernet0/3/1/6.1108 REAL_TIME\n"
"RTPEBLM0104 GigabitEthernet0/3/1/6.1112 REAL_TIME\n"
"RTOCCAS0101 GigabitEthernet6/0/0.850 REAL_TIME\n"
"RTOCCTA0101 POS0/0/5/0 REAL_TIME\n"
"RTECSRR0202 POS0/1/3/0 REAL_TIME\n"
"RTACPAE0101 Serial0/3/0 REAL_TIME\n"
"RTOCCAS0101 Serial1/3/2 REAL_TIME\n"
"RTICSNE0102 TenGigE0/0/0/13 REAL_TIME\n"
"RTICSNE0102 TenGigE0/0/0/3 REAL_TIME\n"
"RTECBNU0102 TenGigE0/2/0/1 REAL_TIME\n"
"RTECBNU0102 TenGigE0/3/0/1 REAL_TIME\n"
"RTPESPO0303 TenGigE0/3/0/1 REAL_TIME\n"
"RTPESPO0303 TenGigE0/4/0/1 REAL_TIME\n"
"RTOCFLA0201 TenGigE0/4/0/5 REAL_TIME\n"
"RTOCFLA0202 TenGigE0/4/0/5 REAL_TIME\n"
"RTPESPO0304 TenGigE0/5/0/1 REAL_TIME\n"
"RTPESPO0304 TenGigE0/6/0/0 REAL_TIME\n"
"RTPESNE0103 TenGigE0/6/0/0.1771 REAL_TIME\n"
"RTARSNE0101 GigabitEthernet0/3/1/10 REAL_TIME\n"
"RTARSPO0301 GigabitEthernet0/3/1/12 REAL_TIME\n"
"RTARSNE0101 GigabitEthernet0/3/1/3 REAL_TIME\n"
"RTARSPO0301 GigabitEthernet0/3/1/3 REAL_TIME\n"
"RTARSPO0301 GigabitEthernet0/3/1/5 REAL_TIME\n"
"RTARSPO0301 GigabitEthernet0/3/1/6 REAL_TIME\n"
"RTARSNE0101 GigabitEthernet0/3/1/8 REAL_TIME\n"
"RTARSNE0101 TenGigE0/1/0/7 REAL_TIME\n"
"RTARSPO0301 TenGigE0/1/0/7 REAL_TIME\n"
"RTARSPO0301 GigabitEthernet0/3/1/15.10 REAL_TIME\n"
"RTACPAE0101 Serial0/3/2 REAL_TIME\n")
matches = re.finditer(regex, test_str)
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