擅长:python、mysql、java
<p>第二个块仅捕获数字<code>0</code>和<code>9</code>,请将其更改为一个范围:</p>
<pre><code>"[a-zA-Z]{%d}[0-9]{2,3}"%N
</code></pre>
<p>编辑:
要捕获不匹配的内容,您需要在regex中添加开始和结束条件。这可以通过以下几种方式实现:</p>
<h2>文本锚定</h2>
<p>起点和终点线指定如果您的图案要单独在一条线上:</p>
<pre><code>"^[a-zA-Z]{%d}[0-9]{2,3}$"%N
</code></pre>
<p>其中<code>^</code>表示行的开始,<code>$</code>表示行的结束</p>
<h2>指定<em>不</em>匹配</h2>
<p>您可以说在模式后匹配特定字符:</p>
<pre><code>"[a-zA-Z]{%d}[0-9]{2,3}[^0-9]+"
</code></pre>
<p>括号内的<code>^</code>会说“与这些字符不匹配”。我对lookaheads/lookbacks不够熟悉,无法用它们给您一个很好的答案,但是可以找到文档<a href="https://docs.python.org/3/library/re.html" rel="nofollow noreferrer">here</a></p>