擅长:python、mysql、java
<p>您不需要使用regex获得初始拼接和连接的ip;相反,只需使用<code>str.split()</code>:</p>
<pre><code>import re
data = ['network 10.185.16.64 255.255.255.224','network 55.242.33.0 255.255.255.0','network 55.242.154.0 255.255.255.252']
mydict = {"255.255.255.0":24,"255.255.255.128":25,"255.255.255.192":26,"255.255.255.224":27,"255.255.255.240":28,"255.255.255.248":29,"255.255.255.252":30}
final_list = sorted(['{} {}'.format(b, mydict[c]) for a, b, c in [i.split() for i in data]], key=lambda x:map(int, re.split('\.|\s', x)), reverse=True)
</code></pre>
<p>输出:</p>
<pre><code>['55.242.154.0 30', '55.242.33.0 24', '10.185.16.64 27']
</code></pre>