Извлечение AWS AZ из имени хоста - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь выяснить, как извлечь зону доступности (AZ) из имени хоста AWS, используя Python.Я знаю, как извлечь начало или конец имени хоста, но не середину.Пример:

ec2-1-1-1-1.us-west-2.compute.amazonaws.com.
ec2-2-2-2-2.us-gov-west-1.compute.amazonaws.com.
ec2-3-3-3-3.ap-southeast-2.compute.amazonaws.com.

Для тех, кто не знаком с AWS, AZ является средней частью имени хоста "us-west-2", "us-gov-west-1", "ap-southeast-2».Формат согласован по регионам.

Заранее спасибо.

1 Ответ

0 голосов
/ 01 декабря 2018

Вы можете использовать это простое регулярное выражение для выбора нужного имени.

^[^.]+\.([^.]+)

для ввода имени AZ, вам нужно захватить текст группы 1.

Демо

Python-код, извлекающий имена,

import re
arr = ['ec2-1-1-1-1.us-west-2.compute.amazonaws.com.','ec2-2-2-2-2.us-gov-west-1.compute.amazonaws.com.','ec2-3-3-3-3.ap-southeast-2.compute.amazonaws.com.']
for s in arr:
 match = re.search(r'^[^.]+\.([^.]+)', s)
 print (s + ' --> ' + match.group(1))

Вот вывод,

ec2-1-1-1-1.us-west-2.compute.amazonaws.com. --> us-west-2
ec2-2-2-2-2.us-gov-west-1.compute.amazonaws.com. --> us-gov-west-1
ec2-3-3-3-3.ap-southeast-2.compute.amazonaws.com. --> ap-southeast-2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...