使用正则表达式提取字符串

sha*_*nuo 3 python regex

我需要从以下字符串中提取IP地址.

>>> mydns='ec2-54-196-170-182.compute-1.amazonaws.com'
Run Code Online (Sandbox Code Playgroud)

需要返回点左侧的文本.以下按预期工作.

>>> mydns[:18]
'ec2-54-196-170-182'
Run Code Online (Sandbox Code Playgroud)

但它并不适用于所有情况.例如

mydns='ec2-666-777-888-999.compute-1.amazonaws.com'

>>> mydns[:18]
'ec2-666-777-888-99'
Run Code Online (Sandbox Code Playgroud)

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

mgi*_*son 5

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

mydns.split('.', 1)[0]
Run Code Online (Sandbox Code Playgroud)

演示:

>>> mydns='ec2-666-777-888-999.compute-1.amazonaws.com'
>>> mydns.split('.', 1)[0]
'ec2-666-777-888-999'
Run Code Online (Sandbox Code Playgroud)