从一组字符串Python中解析数字

时间:2017-02-24 18:01:40

标签: python

如果用户输入带有IP地址的字符串。 我想只提取IP 例如:

Hello I am localhost 127.0.0.1

我想从整个字符串中只获取ip“127.0.0.1”,我该怎么办? 感谢。

2 个答案:

答案 0 :(得分:2)

使用re

import re
result = re.findall("\d+\.\d+\.\d+\.\d+", "Hello I am localhost 127.0.0.1")

输出:

['127.0.0.1']

答案 1 :(得分:1)

这是一个匹配IPv4地址的正则表达式:

(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])

你可以像这样使用它

import re
regex = r"(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])"
print(re.search(regex, "string with an ip like 127.0.0.1 in it").group())