擅长:python、mysql、java
<p>使用perl,您可以使用<a href="https://metacpan.org/module/Set%3a%3aIntSpan" rel="nofollow">^{<cd1>}</a>模块来压缩数字序列。在</p>
<p>下面的解决方案可以处理混合和无序的站点列表。在</p>
<p><em>填充</em></p>
<pre class="lang-none prettyprint-override"><code>web3.maxi.com
web4.maxi.com
web5.maxi.com
mail1.mexi.com
web6.maxi.com
web9.maxi.com
web9.maxi.com
web11.maxi.com
mail3.mexi.com
web7.maxi.com
mail4.mexi.com
mail25.mexi.com
mail26.mexi.com
mail27.mexi.com
mail28.mexi.com
web8.maxi.com
mail29.mexi.com
mail110.mexi.com
web1.maxi.com
</code></pre>
<p><em>解析.pl</em></p>
^{pr2}$
<p>这样运行:</p>
<pre><code>perl parse.pl < infile
</code></pre>
<p>输出:</p>
<pre><code>web[1,3-9,11].maxi.com
mail[1,3-4,25-29,110].mexi.com
</code></pre>
<p>可能是神秘的<code>@numbers = $nums =~ /$pre(\d+)$post/g</code>扩展为与正则表达式匹配的项数组,并将其保存在<code>@numbers</code>中。在</p>
<p>请注意,此解决方案将整个文件加载到内存中。在</p>