擅长:python、mysql、java
<p>一个选项是使用前瞻检查一个数字,并至少匹配一个字符a-zA-Z</p>
<p>您不需要锚定<code>^</code>,因为它断言字符串的开头。您可以使用单词bounary<code>\b</code>来确保匹配项不是较大单词的一部分</p>
<pre><code>\b(?=[a-zA-Z0-9]*[0-9])[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*\b
</code></pre>
<p>部分地</p>
<ul>
<li><code>\b</code>字边界</li>
<li><code>(?=[a-zA-Z0-9]*[0-9])</code>正向前瞻,断言一个数字</li>
<li><code>[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*</code>在所有允许的字符之间匹配字符a-zA-Z</li>
<li><code>\b</code>字边界</li>
</ul>
<p><a href="https://regex101.com/r/50Q49g/1" rel="nofollow noreferrer">Regex demo</a></p>