如何提取字符串中的ip(点分十进制)
python吧
全部回复
仅看楼主
level 11
937431539 楼主
刚接触python,不太了解python字符串方面的特点。求思路
比如下面的格式:
add address=222.248.0.0/16 comment="" disabled=no list=inland_route
每个ip前都有"address="的
求思路
2013年03月25日 13点03分 1
level 11
937431539 楼主
咋没人回呢?不要沉啊![88]
2013年03月25日 14点03分 2
已解决,见6楼
2013年03月26日 10点03分
level 8
正则表达式~
2013年03月25日 14点03分 3
正则表达式 能匹配,但怎么把ip提取出来呢?
2013年03月25日 14点03分
回复 937431539 :re.findall("address=(?P<ip>\d{1, 3}.\d{1, 3}.\d{1, 3}.\d{1, 3})", XX).group("ip")
2013年03月25日 14点03分
level 10
用正则然后用一个变量存不就好了。
2013年03月25日 14点03分 4
不懂,能详细点么[Love]我基本只会C和汇编,python只是了解而已[不高兴]
2013年03月25日 14点03分
回复 937431539 :C不是也有库可以用正则吗....
2013年03月25日 14点03分
level 11
import re
l=re.findall(r"address=(\d\d\d\.\d\d\d\.\d\.\d)",你的字符串)
试试
2013年03月25日 14点03分 5
level 11
937431539 楼主
已解决,代码如下
#!/usr/bin/python
import re
pattern = re.compile(r"((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/(\d\d)")
ret = pattern.search(要匹配的字符串)
str = ret.group()
得到的str即是待匹配字符串中的ip
2013年03月26日 10点03分 6
1