Python 正在分析一组字符串中的数字

Python 正在分析一组字符串中的数字,python,Python,如果用户输入带有IP地址的字符串。 我只想提取IP 例如: Hello I am localhost 127.0.0.1 我只想从整个字符串中获取ip“127.0.0.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 re

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

Hello I am localhost 127.0.0.1
我只想从整个字符串中获取ip“127.0.0.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())

下面是一个与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())
使用
re

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

['127.0.0.1']
使用
re

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

['127.0.0.1']

一个端口是一个固定的4位数字,所以“\d{4}”就可以了。如果答案解决了您的问题,请将其标记为已接受@AnandvyasThank bro:D检查代码并将回复。请注意,这将捕获许多无效的“ip地址”
1.2.3.4444
999.999.999
,等等。我知道,但您在哪里看到
1.2.3.4444
999.999.999
?给我一个例子,我会编辑我的答案@临时WOLF如何对端口执行相同操作?端口是一个固定的4位数字,因此“\d{4}”就可以了。如果答案解决了您的问题,请将其标记为已接受@AnandvyasThank bro:D检查代码并将回复。请注意,这将捕获许多无效的“ip地址”
1.2.3.4444
999.999.999
,等等。我知道,但您在哪里看到
1.2.3.4444
999.999.999
?给我一个例子,我会编辑我的答案@临时狼