# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^[\d.]+\/\d\d\S*"
test_str = ("0.0.0.0/0 *[OSPF/150] 5w2d 19:06:26, metric 24, tag 100\n"
" to 10.239.248.129 via ae101.0\n"
" > to 10.239.248.137 via ae102.0\n"
"1.1.21.0/30 *[OSPF/10] 5w2d 19:06:26, metric 23\n"
" > to 10.239.248.129 via ae101.0\n"
" to 10.239.248.137 via ae102.0\n"
" [BGP/170] 10w3d 08:00:01, localpref 260, from 189.40.251.20\n"
" AS path: 17379 I, validation-state: unverified\n"
" > to 10.239.248.129 via ae101.0, Push 16151\n"
" to 10.239.248.137 via ae102.0, Push 16109\n"
" [BGP/170] 10w3d 08:00:54, localpref 260, from 189.40.251.21\n"
" AS path: 17379 I, validation-state: unverified\n"
" > to 10.239.248.129 via ae101.0, Push 16151\n"
" to 10.239.248.137 via ae102.0, Push 16109\n"
"1.1.21.4/30 *[OSPF/10] 5w2d 19:06:26, metric 23\n"
" to 10.239.248.129 via ae101.0\n"
" > to 10.239.248.137 via ae102.0\n"
" [BGP/170] 10w3d 07:57:12, MED 120, localpref 100, from 189.40.251.21\n"
" AS path: ?, validation-state: unverified\n"
" > to 10.239.248.129 via ae101.0\n"
" [BGP/170] 10w3d 07:56:39, MED 120, localpref 100, from 189.40.251.20\n"
" AS path: ?, validation-state: unverified\n")
matches = re.finditer(regex, test_str, re.MULTILINE)
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