我正在尝试弄清楚如何使用Python从AWS主机名中提取可用区(AZ)。我知道如何提取主机名的开头或结尾,但不知道中间部分。示例:
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-东南-2”的中间部分。格式跨地域一致。
提前谢谢。
发布于 2018-12-02 03:30:20
您可以使用这个简单的正则表达式来选择您想要的名称。
^[^.]+\.([^.]+)要捕获AZ名称,您需要捕获第一组文本。
提取名称的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-2https://stackoverflow.com/questions/53574299
复制相似问题