Я пытался найти один шаблон регулярных выражений, который поможет мне сопоставить 4 различных типа случаев, из которых я могу получить имя хоста.
Дело 1: HOSTNAME #
Дело 2: Хозяин>
Случай 3: myid8 @ HOSTNAME>
Случай 4: myid8 @ HOSTNAME #
Для всех вышеперечисленных случаев мне нужно сопоставлять только имя хоста, имя хоста может быть любым;
до сих пор я пытался соответствовать
«#» для случая 1,
«>» для случая 2,
пытается сопоставить первые "@" и ">" для случая 3
и "@" и "#" для случая 4.
Это то, что я пробовал до сих пор:
def testingregex(self):
if "@" in self.device_name:
m = re.search(r'@(.*)>|@(.*)#', self.device_name)
print("Hostname on the Device is: %s" % m.group(1))
else:
m = re.search(r'^(.+?)#|^(.+?)>', self.device_name)
try:
print("Hostname on the Device is: %s" % m.group(1))
except:
print("Hostname on the Device is: %s" % m.group(2))
В моем файле есть все четыре вида дел:
Я получаю этот вывод:
HOSTNAME
Ни один
HOSTNAME
Ни один