㈠ python判断IP地址合法性程序题有个小问题求助!!
if count == 4:
print('yes')
else: #这里需要对应一个else
print('no')
㈡ python 正则 匹配IP 2012-11-12 12:12:43 200 OK http://a.com/test.phpip=10.9.0.221&id=100' 中的IP
import re
p = re.compile('ip=(([0-9]{1,3}.){3}[0-9]{1,3})')
s = 'IP 2012-11-12 12:12:43 200 OK http://a.com/test.php?ip=10.9.0.221&id=100'
m = re.search(p, s)
if m:
print m.group(1)
㈢ 在python中怎么匹配IP地址
㈣ 如何利用Python判断一个字符串是合法ip
首先给出一个c函数的原型:int sscanf(const char *buffer,const char *format,[argument ]...)它的返回值是参数的数据,也就是argument的个数,buffer:存储的数据,format:格式控制字符串,argument:选择性设定字符串。这个程序从标准流读取数据,可以进行无限制的输入。下面贴出代码,然后引出另外一个问题,将字符串ip转换成整形ip地址。[cpp]
#include<stdio.h
#include<string.h
int main(void){
char str[32];
int a,b,c,d;int ret=0;
while(fgets(str,sizeof(str),stdin)!=NULL){
int len=strlen(str);
str[len]='\0';
ret=sscanf(str,%d.%d.%d.%d,&a,&b,&c,&d);
if(ret==4&&(a=0&&a<=255)&&(b=0&&b<=255)&&(c=0&&c<=255)&&(d=0&&d<=255)){
printf(it is ip!\n);}else
printf(it is not ip!\n);}return 0;}gcc -Wall ip.c -o ip12.3.4.5
下面来引出另外一个问题,在很多情况下,要求把字符串ip转换成整形ip,这个问题也可以应用sscanf这个函数,首先把四个字段存储到a,b,c,d四个变量当中去,然后进行移位运算,因为ip地址是32位的,而且是无符号整形变量,所以可以应用unsigned int 来存储. unsinged int ip=(a<<24)+(b<<16)+(c<<8)+d。
㈤ Python正则表达式匹配IP地址的问题
表示非捕获组,即只匹配这个组里面的内容,而不会将这个组添加到group中,不占用group的位置。
㈥ 请教Python中匹配IP的正则表达式
下面是IPv4的IP正则匹配表达式
importre
#简单的匹配给定的字符串是否是ip地址,下面的例子它不是IPv4的地址,但是它满足正则表达式
ifre.match(r"^(?:[0-9]{1,3}.){3}[0-9]{1,3}$","272.168,1,1"):
print"IPvaild"
else:
print"IPinvaild"
#精确的匹配给定的字符串是否是IP地址
ifre.match(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]?)$","223.168.1.1"):
print"IPvaild"
else:
print"IPinvaild"
#简单的从长文本中提取中提取ip地址
string_ip="isthis289.22.22.22ip?
result=re.findall(r"(?:[0-9]{1,3}.){3}[0-9]{1,3}",string_ip)
ifresult:
printresult
else:
print"recannotfindip"
#精确提取IP
result=re.findall(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]?)",string_ip):
ifresult:
printresult
else:
print"recannotfindip"
下面是IPv6的正则匹配表达式
string_IPv6="1050:0:0:0:5:600:300c:326b"
#匹配是否满足IPv6格式要求,请注意例子里大小写不敏感
ifre.match(r"^(?:[A-F0-9]{1,4}:){7}[A-F0-9]{1,4}$",string_IPv6,re.I):
print"IPv6vaild"
else:
print"IPv6invaild"
#提取IPv6,例子里大小写不敏感
result=re.findall(r"(?<![:.w])(?:[A-F0-9]{1,4}:){7}[A-F0-9]{1,4}(?![:.w])",string_IPv6,re.I)
#打印提取结果
printresult
㈦ 如何检查一个字符串在python的IP地址模式匹配
是用re模块。具体代码如下:
importre
pattern=re.compile(
r"((?:(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))))")
x="sljflafja10.10.10.11flksjfklsajf00.00.1xxxx22.222.222.22"
y="fjlsfjla10.10.10.10jkfsjf"
z="10.10.10.10"
a=pattern.findall(x)
b=pattern.findall(y)
c=pattern.findall(z)
ips1=[g[0]forgina]
ips2=[g[0]forginb]
ips3=[g[0]forginc]
printips1
printips2
printips3
输出结果:
['10.10.10.11','22.222.222.22']
['10.10.10.10']
['10.10.10.10']
主要是IP地址的正则表达式比较复杂,python中的正则表达式使用还是比较简单的。
㈧ python 正则表达式.*如何把ip地址提取出来
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importre
html='<bodystyle="margin:0px"><center>您的IP是:[42.120.74.89]来自:浙江省杭州市阿里云</center></body></html>'
reg=re.compile(r'[(d{1,3}.d{1,3}.d{1,3}.d{1,3})]')
item=re.findall(reg,html)
printitem[0]
㈨ Python正则表达式匹配Ip地址和文件地址
㈩ python中匹配ip的正则表达式 如果我要匹配192.168.*.*的网段呢 新手求教!!
importre
reg=re.compile(r"(?<![0-9.])((2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2}).){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})(?![0-9.])")
(?<![0-9.])((2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2}).){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9]{1,2})(?![0-9.])
从文本中匹配ip的正则表达式
importre(?<![d.])192.168(.(2[0-4]d|25[0-5]|[01]?d{1,2})){2}(?![d.])
reg=re.compile(r"(?<![d.])192.168(.(2[0-4]d|25[0-5]|[01]?d{1,2})){2}(?![d.])")
在文本中匹配 192.168网段的正则表达式