如何提取字符串中的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
楼主
咋没人回呢?不要沉啊!
2013年03月25日 14点03分
2
937431539
已解决,见6楼
2013年03月26日 10点03分
level 8
大爷你啥样
正则表达式~
2013年03月25日 14点03分
3
937431539
正则表达式 能匹配,但怎么把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
937431539
不懂,能详细点么
我基本只会C和汇编,python只是了解而已
2013年03月25日 14点03分
神与人的简称
回复 937431539 :C不是也有库可以用正则吗....
2013年03月25日 14点03分
level 11
MopperWhiteEXE
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