Не очень понял задачу, но вот решения на то как понял я):
1. Можно по наличию слэша:
txt = "CR2112-0718 192.168.1.1/24 192.168.1.2 192.168.1.3"
arr = txt.split()
for i in range(1, len(arr)):
if '/' in arr[i]:
print(f'subnet {arr[i]} 255.255.255.0')
else:
print(f'host {arr[i]}')
2. Можно находить ip со слэшами (регулярки нужно перепроверить, а вторая не подхватывает последний ip)
import re
txt = "CR2112-0718 192.168.1.1/24 192.168.1.2 192.168.1.3"
with_a_mask = re.findall(
r'([\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}/[\d]{1,2})', txt
)
without_a_mask = re.findall(
r'([\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3})[^/]', txt
) # Не подхватывает последний ip
print(with_a_mask)
print(without_a_mask)