import re
regex = re.compile(r"^(\d{1,3}(?:\.\d{1,3}){3})\s*-\s*((?1))\s*-\s*((?:[0-9A-Fa-f]{2}[:-]){3,6}[0-9A-Fa-f]{2})\s*-\s*(\d\d/\d\d/\d{4}\s\d\d(?::\d\d){2}|NEVER EXPIRES|INACTIVE)\s*-\s*(\w)\s*-\s*(.*)$", flags=re.MULTILINE)
test_str = ("Changed the current scope context to 192.25.200.0 scope.\n\n"
"Type : N - NONE, D - DHCP B - BOOTP, U - UNSPECIFIED, R - RESERVATION IP\n"
"============================================================================================\n"
"IP Address - Subnet Mask - Unique ID - Lease Expires -Type -Name \n"
"============================================================================================\n\n"
"192.25.200.4 - 255.255.255.192- 64-9e-f3-b3-81-d3 -01/08/2018 17:07:46 -D- BH1-WAP-01.local\n"
"192.25.200.5 - 255.255.255.192- 50-57-a8-30-11-f6 -01/08/2018 16:24:59 -D- BH1-WAP-03.local\n"
"192.25.200.6 - 255.255.255.192- f0-f7-55-df-c4-ff -01/08/2018 16:45:04 -D- BH1-WAP-02.local\n"
"192.25.200.7 - 255.255.255.192- 00-23-24-bb-ce-83 -04/08/2018 10:55:00 -D- CESTA1703043.LOCAL\n\n"
"No of Clients(version 4): 4 in the Scope : 192.25.200.0.\n\n"
"Command completed successfully.\n\n"
"Changed the current scope context to 192.25.200.64 scope.\n\n"
"Type : N - NONE, D - DHCP B - BOOTP, U - UNSPECIFIED, R - RESERVATION IP\n"
"============================================================================================\n"
"IP Address - Subnet Mask - Unique ID - Lease Expires -Type -Name \n"
"============================================================================================\n\n"
"192.25.200.68 - 255.255.255.192- 28-94-0f-05-ac-6c -01/08/2018 03:14:46 -D- WAP-C12-01-1047.local\n\n"
"No of Clients(version 4): 1 in the Scope : 192.25.200.64.\n\n"
"Command completed successfully.\n"
"Changed the current scope context to 192.28.211.0 scope.\n"
"192.28.211.27 - 255.255.255.0 -00-0a-13-00-00-00-00- NEVER EXPIRES -U- CFCameraNearlockers\n\n"
"Changed the current scope context to 192.28.194.0 scope.\n"
"192.28.194.254 - 255.255.255.0 -00-48-32-95-85 - INACTIVE -N- bms")
subst = "$1 ~ $2 ~ $3 ~ $4 ~ $5 ~ $6"
result = regex.sub(subst, test_str)
if result:
print(result)
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