Python正则表达式匹配IP地址
时间: 2023-06-22 19:25:49 浏览: 54
可以使用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之间的数字。`\.`表示匹配点号。`^`和`$`表示只匹配整个字符串的开头和结尾。
相关问题
如何用python正则表达式匹配IP地址
要使用 Python 的正则表达式来匹配 IP 地址,你可以使用以下代码示例:
```python
import re
def validate_ip(ip):
pattern = r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
if re.match(pattern, ip):
return True
else:
return False
ip_address = input("请输入一个IP地址:")
if validate_ip(ip_address):
print("IP地址有效")
else:
print("IP地址无效")
```
在上面的代码中,我们定义了一个名为 `validate_ip` 的函数,它接受一个 IP 地址作为参数。函数内部使用了一个正则表达式模式来验证 IP 地址的格式。如果 IP 地址匹配模式,则返回 `True`,否则返回 `False`。
在主程序中,我们通过 `input` 函数获取用户输入的 IP 地址,并调用 `validate_ip` 函数进行验证。根据验证结果,输出相应的提示信息。
这个正则表达式的模式可以匹配 IPv4 地址的各种情况,如 0.0.0.0 - 255.255.255.255。
Python 正则表达式 IP地址
你可以使用正则表达式来匹配 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 地址"。