jdbc:mysql://10.0.151.205:3306 -> 10.0.151.205:3306
感觉用正则会很快,但是不是很懂正则。还有什么特殊的技巧吗?
1
Famio 2017 年 3 月 2 日
不懂 py 的来打混下
不知道 py 能不能转成 string 再处理…… |
2
fortunezhang 2017 年 3 月 2 日
split(':')
|
3
yohole 2017 年 3 月 2 日
如果字符串固定,只是 IP 会不同,那么按照字符串长度截取不失为一种方法
|
4
windfarer 2017 年 3 月 2 日
不是很懂正则就学一下啊, 30 分钟入门教程
|
5
izhaohui 2017 年 3 月 2 日 via Android
(\d+?\.){3}\d+?\.:\d+?
|
6
izhaohui 2017 年 3 月 2 日 via Android
哎呀多了个点
|
7
grimpil 2017 年 3 月 2 日 via Android
匹配 ip 的正则表达式,网上太多了,随便搜一下就是答案
|
8
sunnywx 2017 年 3 月 2 日
正则:[\d{1,3}.]+\d{1,3}:\d{4}
|
9
abc950309 2017 年 3 月 2 日
re.match(r'^.+\/\/(?P<ip>\d{1,3}(\.\d{1,3}){3}).+$', 'jdbc:mysql://10.0.151.205:3306 -> 10.0.151.205:3306').group('ip')
不能帮助你更多了 :P |
10
langmoe 2017 年 3 月 2 日 print 'jdbc:mysql://10.0.151.205:3306 -> 10.0.151.205:3306'.split('->')[1].split(':')[0].strip()
|
11
mgna17 2017 年 3 月 2 日
'jdbc:mysql://10.0.151.205:3306'.split('/')[-1]
|
12
Adia OP |
14
Adia OP @langmoe 搞定了,感谢。 print '''jdbc:mysql://10.0.151.205:3306'''.split('/')[-1].split(':')[0]
|
16
ijustdo 2017 年 3 月 2 日
我也来个不用正则的 标准库 urlparse
>>> import urlparse >>> a = 'jdbc:mysql://10.0.151.205:3306' >>> urlparse.urlparse(urlparse.urlparse(a).path).hostname '10.0.151.205' |
17
ijustdo 2017 年 3 月 2 日 这样也可以的 记住 split rsplit lsplit 是一组函数 他第二个参数非常有用的
>>> a.rsplit(':', 1)[0].rsplit('/', 1)[-1] '10.0.151.205' |
18
xzpjerry731 2017 年 3 月 3 日
>>> ip_data
'jdbc:mysql://10.0.151.205:3306' >>> rule '.*//(?P<ip>\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}:\\d{1,5})' #端口号有五位数的啊 >>> re.match(rule, ip_data).group('ip') '10.0.151.205:3306 |