# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"\s+(?P<Name>\w{2}P)+\s+(?P<Address>(\d{,3}.){3}.\d{,3}:\d+)\s+(?P<WAddress>.+:.+ )\s+(?P<State>\w+)"
test_str = (" Имя Локальный адрес Внешний адрес Состояние\n"
" TCP 10.30.51.82:53518 20.54.37.64:https ESTABLISHED\n"
" TCP 10.30.51.82:53574 dc4:49678 ESTABLISHED\n"
" TCP 10.30.51.82:53602 myqprint:49670 ESTABLISHED\n"
" TCP 10.30.51.82:53606 fs-02:microsoft-ds ESTABLISHED\n"
" TCP 10.30.51.82:53686 JUMPSRV:microsoft-ds ESTABLISHED\n"
" TCP 10.30.51.82:53995 10.20.16.41:2193 ESTABLISHED\n"
" TCP 10.30.51.82:54019 ex-cas-01:https ESTABLISHED\n"
" TCP 10.30.51.82:54022 ex-cas-01:https ESTABLISHED\n"
" TCP 10.30.51.82:54058 lt-in-f188:5228 ESTABLISHED\n"
" TCP 10.30.51.82:54160 ex-cas-02:http ESTABLISHED\n"
" TCP 10.30.51.82:54163 ex-cas-02:http ESTABLISHED\n"
" TCP 10.30.51.82:54217 lync:5061 ESTABLISHED\n"
" TCP 10.30.51.82:54445 vcstest:https ESTABLISHED\n"
" TCP 10.30.51.82:54457 vcstest:https ESTABLISHED\n"
" TCP 10.30.51.82:54499 ex-cas-02:http ESTABLISHED\n"
" TCP 10.30.51.82:54502 ex-cas-02:http ESTABLISHED\n"
" TCP 10.30.51.82:54739 ex-cas-01:https ESTABLISHED\n"
" TCP 10.30.51.82:54742 ex-cas-01:https ESTABLISHED\n"
" TCP 10.30.51.82:54769 ex-cas-01:https ESTABLISHED\n"
" TCP 10.30.51.82:55034 fs-01:microsoft-ds ESTABLISHED\n"
" TCP 10.30.51.82:55127 JUMPSRV:microsoft-ds ESTABLISHED\n"
" TCP 10.30.51.82:55128 JUMPSRV:microsoft-ds ESTABLISHED\n"
" TCP 10.30.51.82:55129 JUMPSRV:microsoft-ds ESTABLISHED\n"
" TCP 10.30.51.82:55381 93.186.225.198:https ESTABLISHED\n"
" TCP 10.30.51.82:55471 149.154.167.41:https ESTABLISHED\n"
" TCP 10.30.51.82:55914 srv129-129-240-87:https TIME_WAIT\n"
" TCP 10.30.51.82:55956 srv129-129-240-87:https TIME_WAIT\n"
" TCP 10.30.51.82:55960 ex-cas-01:https TIME_WAIT\n"
" TCP 10.30.51.82:55963 ex-cas-01:https TIME_WAIT\n"
" TCP 10.30.51.82:55965 ex-cas-01:https TIME_WAIT\n"
" TCP 10.30.51.82:55968 91.105.192.100:https ESTABLISHED\n"
" TCP 10.30.51.82:55980 10.250.166.2:https TIME_WAIT\n"
" TCP 10.30.51.82:55983 10.250.166.2:https TIME_WAIT\n"
" TCP 10.30.51.82:55986 10.250.166.2:https TIME_WAIT\n"
" TCP 10.30.51.82:55989 10.250.166.2:https TIME_WAIT\n"
" TCP 10.30.51.82:56004 srv129-129-240-87:https TIME_WAIT\n"
" TCP 10.30.51.82:56008 ex-cas-01:https TIME_WAIT\n"
" TCP 10.30.51.82:56010 ex-cas-01:https TIME_WAIT\n"
" TCP 10.30.51.82:56013 ex-cas-01:https TIME_WAIT\n"
" TCP 10.30.51.82:56022 40.79.141.152:https ESTABLISHED\n"
" TCP 10.30.51.82:56025 40.79.141.152:https ESTABLISHED\n"
" TCP 10.30.51.82:56028 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56031 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56034 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56037 15:https TIME_WAIT\n"
" TCP 10.30.51.82:56040 srv-eu-ldn-10:https TIME_WAIT\n"
" TCP 10.30.51.82:56043 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56046 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56049 srv129-129-240-87:https TIME_WAIT\n"
" TCP 10.30.51.82:56052 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56055 lg-in-f84:https TIME_WAIT\n"
" TCP 10.30.51.82:56058 159.89.100.215:https SYN_SENT\n"
" TCP 10.30.51.82:56061 15:https TIME_WAIT\n"
" TCP 10.30.51.82:56064 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56067 lq-in-f132:https TIME_WAIT\n"
" TCP 10.30.51.82:56070 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56073 lq-in-f95:https TIME_WAIT\n"
" TCP 10.30.51.82:56076 srv-eu-ldn-10:https TIME_WAIT\n"
" TCP 10.30.51.82:56079 static:https TIME_WAIT\n"
" TCP 10.30.51.82:56082 srv129-129-240-87:https ESTABLISHED\n"
" TCP 10.30.51.82:56085 static:https ESTABLISHED\n"
" TCP 10.30.51.82:56088 15:https ESTABLISHED\n"
" TCP 10.30.51.82:56091 static:https ESTABLISHED\n"
" TCP 10.30.51.82:56094 static:https ESTABLISHED\n"
" TCP 10.30.51.82:56097 srv-eu-ldn-10:https ESTABLISHED\n"
" TCP 127.0.0.1:7778 PRAKTIKA4-NB:53782 ESTABLISHED\n"
" TCP 127.0.0.1:49701 PRAKTIKA4-NB:49702 ESTABLISHED\n"
" TCP 127.0.0.1:49702 PRAKTIKA4-NB:49701 ESTABLISHED\n"
" TCP 127.0.0.1:49704 PRAKTIKA4-NB:49705 ESTABLISHED\n"
" TCP 127.0.0.1:49705 PRAKTIKA4-NB:49704 ESTABLISHED\n"
" TCP 127.0.0.1:50094 PRAKTIKA4-NB:50095 ESTABLISHED\n"
" TCP 127.0.0.1:50095 PRAKTIKA4-NB:50094 ESTABLISHED\n"
" TCP 127.0.0.1:53572 PRAKTIKA4-NB:53573 ESTABLISHED\n"
" TCP 127.0.0.1:53573 PRAKTIKA4-NB:53572 ESTABLISHED\n"
" TCP 127.0.0.1:53600 PRAKTIKA4-NB:53601 ESTABLISHED\n"
" TCP 127.0.0.1:53601 PRAKTIKA4-NB:53600 ESTABLISHED\n"
" TCP 127.0.0.1:53780 PRAKTIKA4-NB:53781 ESTABLISHED\n"
" TCP 127.0.0.1:53781 PRAKTIKA4-NB:53780 ESTABLISHED\n"
" TCP 127.0.0.1:53782 PRAKTIKA4-NB:7778 ESTABLISHED\n"
" TCP 127.0.0.1:53783 PRAKTIKA4-NB:53784 ESTABLISHED\n"
" TCP 127.0.0.1:53784 PRAKTIKA4-NB:53783 ESTABLISHED\n"
" TCP 127.0.0.1:54017 PRAKTIKA4-NB:54018 ESTABLISHED\n"
" TCP 127.0.0.1:54018 PRAKTIKA4-NB:54017 ESTABLISHED\n"
" TCP 127.0.0.1:54020 PRAKTIKA4-NB:54021 ESTABLISHED\n"
" TCP 127.0.0.1:54021 PRAKTIKA4-NB:54020 ESTABLISHED\n"
" TCP 127.0.0.1:54056 PRAKTIKA4-NB:54057 ESTABLISHED\n"
" TCP 127.0.0.1:54057 PRAKTIKA4-NB:54056 ESTABLISHED\n"
" TCP 127.0.0.1:54158 PRAKTIKA4-NB:54159 ESTABLISHED\n"
" TCP 127.0.0.1:54159 PRAKTIKA4-NB:54158 ESTABLISHED\n"
" TCP 127.0.0.1:54161 PRAKTIKA4-NB:54162 ESTABLISHED\n"
" TCP 127.0.0.1:54162 PRAKTIKA4-NB:54161 ESTABLISHED\n"
" TCP 127.0.0.1:54215 PRAKTIKA4-NB:54216 ESTABLISHED\n"
" TCP 127.0.0.1:54216 PRAKTIKA4-NB:54215 ESTABLISHED\n"
" TCP 127.0.0.1:54443 PRAKTIKA4-NB:54444 ESTABLISHED\n"
" TCP 127.0.0.1:54444 PRAKTIKA4-NB:54443 ESTABLISHED\n"
" TCP 127.0.0.1:54455 PRAKTIKA4-NB:54456 ESTABLISHED\n"
" TCP 127.0.0.1:54456 PRAKTIKA4-NB:54455 ESTABLISHED\n"
" TCP 127.0.0.1:54497 PRAKTIKA4-NB:54498 ESTABLISHED\n"
" TCP 127.0.0.1:54498 PRAKTIKA4-NB:54497 ESTABLISHED\n"
" TCP 127.0.0.1:54500 PRAKTIKA4-NB:54501 ESTABLISHED\n"
" TCP 127.0.0.1:54501 PRAKTIKA4-NB:54500 ESTABLISHED\n"
" TCP 127.0.0.1:54737 PRAKTIKA4-NB:54738 ESTABLISHED\n"
" TCP 127.0.0.1:54738 PRAKTIKA4-NB:54737 ESTABLISHED\n"
" TCP 127.0.0.1:54740 PRAKTIKA4-NB:54741 ESTABLISHED\n"
" TCP 127.0.0.1:54741 PRAKTIKA4-NB:54740 ESTABLISHED\n"
" TCP 127.0.0.1:54767 PRAKTIKA4-NB:54768 ESTABLISHED\n"
" TCP 127.0.0.1:54768 PRAKTIKA4-NB:54767 ESTABLISHED\n"
" TCP 127.0.0.1:55379 PRAKTIKA4-NB:55380 ESTABLISHED\n"
" TCP 127.0.0.1:55380 PRAKTIKA4-NB:55379 ESTABLISHED\n"
" TCP 127.0.0.1:55469 PRAKTIKA4-NB:55470 ESTABLISHED\n"
" TCP 127.0.0.1:55470 PRAKTIKA4-NB:55469 ESTABLISHED\n"
" TCP 127.0.0.1:55563 PRAKTIKA4-NB:55562 TIME_WAIT\n"
" TCP 127.0.0.1:55912 PRAKTIKA4-NB:55913 TIME_WAIT\n"
" TCP 127.0.0.1:55954 PRAKTIKA4-NB:55955 TIME_WAIT\n"
" TCP 127.0.0.1:55957 PRAKTIKA4-NB:55959 TIME_WAIT\n"
" TCP 127.0.0.1:55958 PRAKTIKA4-NB:55961 TIME_WAIT\n"
" TCP 127.0.0.1:55962 PRAKTIKA4-NB:55964 TIME_WAIT\n"
" TCP 127.0.0.1:55966 PRAKTIKA4-NB:55967 ESTABLISHED\n"
" TCP 127.0.0.1:55967 PRAKTIKA4-NB:55966 ESTABLISHED\n"
" TCP 127.0.0.1:55969 PRAKTIKA4-NB:55970 TIME_WAIT\n"
" TCP 127.0.0.1:55978 PRAKTIKA4-NB:55979 TIME_WAIT\n"
" TCP 127.0.0.1:55981 PRAKTIKA4-NB:55982 TIME_WAIT\n"
" TCP 127.0.0.1:55984 PRAKTIKA4-NB:55985 TIME_WAIT\n"
" TCP 127.0.0.1:55987 PRAKTIKA4-NB:55988 TIME_WAIT\n"
" TCP 127.0.0.1:56002 PRAKTIKA4-NB:56003 TIME_WAIT\n"
" TCP 127.0.0.1:56005 PRAKTIKA4-NB:56006 TIME_WAIT\n"
" TCP 127.0.0.1:56007 PRAKTIKA4-NB:56009 TIME_WAIT\n"
" TCP 127.0.0.1:56011 PRAKTIKA4-NB:56012 TIME_WAIT\n"
" TCP 127.0.0.1:56020 PRAKTIKA4-NB:56021 ESTABLISHED\n"
" TCP 127.0.0.1:56021 PRAKTIKA4-NB:56020 ESTABLISHED")
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