㈠ 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網段的正則表達式