擅长:python、mysql、java
<p>我假设每个目录列表都用新行分隔</p>
<pre><code>([A-Z]\w{2}\d{1,2}\-\d{4}|\d{7,8}\-\w+)$
</code></pre>
<p>将匹配两种情况,并将匹配的文本,只有当它是不间断的(由点或其他任何事情为此事),直到它击中行尾。你知道吗</p>
<p>注意事项:</p>
<ul>
<li>如果要匹配除点以外的所有内容,可以将最后的<code>\w+</code>替换为<code>[^.]+</code>。你知道吗</li>
<li>您需要使用多行修饰符<code>/m</code>,否则<code>$</code>将只匹配字符串的结尾。你知道吗</li>
<li>我没有在regex的开头添加<code>^</code>,但是如果每行包含一个目录,您可以这样做</li>
<li>当然,您可以扩展这个正则表达式以包含<code>(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)</code>,而不是<code>[A-Z]\w{2}</code>。我这样做并不是为了保持可读性。为了便于维护,我还建议您将其存储在python数组中,并将其动态插入regex中。你知道吗</li>
</ul>
<p>看看它在行动:<a href="http://regex101.com/r/pS6iY9" rel="nofollow">http://regex101.com/r/pS6iY9</a></p>