Python 正则表达式 IP地址
时间: 2023-10-15 11:25:39 浏览: 147
你可以使用正则表达式来匹配 IP 地址。下面是一个示例代码:
```python
import re
ip_address = input("请输入IP地址:")
# 定义 IPv4 地址的正则表达式
ipv4_pattern = r'^((25[0-5]|2[0-4]\d|[01]?\d{1,2})\.){3}(25[0-5]|2[0-4]\d|[01]?\d{1,2})$'
# 定义 IPv6 地址的正则表达式
ipv6_pattern = r'^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$'
if re.match(ipv4_pattern, ip_address):
print("IPv4 地址")
elif re.match(ipv6_pattern, ip_address):
print("IPv6 地址")
else:
print("无效的 IP 地址")
```
在上面的代码中,我们使用了两个正则表达式模式,一个用于匹配 IPv4 地址,另一个用于匹配 IPv6 地址。通过 `re.match()` 函数可以判断输入的 IP 地址是否符合相应的模式。如果符合 IPv4 模式,输出 "IPv4 地址";如果符合 IPv6 模式,输出 "IPv6 地址";否则输出 "无效的 IP 地址"。
相关问题
python正则表达式匹配ip地址 正则表达式匹配接口
Python中可以使用正则表达式来匹配IP地址。下面是一个示例的正则表达式,可以用于匹配IPv4地址:
```python
import re
ip_address = "192.168.0.1"
pattern = r"\b(?:\d{1,3}\.){3}\d{1,3}\b"
match = re.match(pattern, ip_address)
if match:
print("IP地址匹配成功")
else:
print("IP地址匹配失败")
```
上述代码中,使用了`\b(?:\d{1,3}\.){3}\d{1,3}\b`作为正则表达式模式。该模式的含义是:以数字开头,后面跟着三个由数字和点号组成的组合,最后以数字结尾。其中`\d{1,3}`表示匹配1到3位数字,`\.`表示匹配点号。
如果IP地址匹配成功,则会输出"IP地址匹配成功";否则输出"IP地址匹配失败"。
Python正则表达式匹配IP地址
可以使用Python的re模块来编写正则表达式匹配IP地址。
下面是一个示例代码:
```python
import re
# 定义IP地址的正则表达式
ip_regex = r'^([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])$'
# 要匹配的IP地址
ip = '192.168.1.1'
# 判断IP地址是否匹配正则表达式
if re.match(ip_regex, ip):
print('匹配成功')
else:
print('匹配失败')
```
正则表达式`^([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])$`可以匹配IP地址的四个数字段,每个数字段的取值范围是0到255。其中,`[01]?[0-9]{1,2}`可以匹配0到199之间的数字,`2[0-4][0-9]`可以匹配200到249之间的数字,`25[0-5]`可以匹配250到255之间的数字。`\.`表示匹配点号。`^`和`$`表示只匹配整个字符串的开头和结尾。
阅读全文