我需要从下面的字符串中提取IP地址。

>>> mydns='ec2-54-196-170-182.compute-1.amazonaws.com'

点左边的文本需要返回以下工作如期进行。
>>> mydns[:18]
'ec2-54-196-170-182'

但这并不适用于所有情况例如
mydns='ec2-666-777-888-999.compute-1.amazonaws.com'

>>> mydns[:18]
'ec2-666-777-888-99'

如何在python中使用正则表达式?

最佳答案

不需要正则表达式…只需使用str.split

mydns.split('.', 1)[0]

演示:
>>> mydns='ec2-666-777-888-999.compute-1.amazonaws.com'
>>> mydns.split('.', 1)[0]
'ec2-666-777-888-999'

09-26 02:12