【发布时间】:2017-02-25 02:05:45
【问题描述】:
如果用户输入带有 IP 地址的字符串。 我只想提取 IP 例如:
Hello I am localhost 127.0.0.1
我只想从整个字符串中获取 ip "127.0.0.1",我该怎么做? 谢谢。
【问题讨论】:
标签: python
如果用户输入带有 IP 地址的字符串。 我只想提取 IP 例如:
Hello I am localhost 127.0.0.1
我只想从整个字符串中获取 ip "127.0.0.1",我该怎么做? 谢谢。
【问题讨论】:
标签: python
使用re:
import re
result = re.findall("\d+\.\d+\.\d+\.\d+", "Hello I am localhost 127.0.0.1")
输出:
['127.0.0.1']
【讨论】:
1.2.3.4444、999.999.999.999 等。
1.2.3.4444 或 999.999.999.999 ?给我一个例子,我将编辑我的答案。 @TemporalWolf
这是一个匹配 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())
【讨论】: