擅长:python、mysql、java
<p>我最近从另一个用户那里了解到,<code>\w</code><em>包括</em><code>\d</code>。因此,<code>'^\w\d{2}\w{5}$'</code>,正如这里的一些用户所建议的,将匹配,例如,<code>12345678</code>。在</p>
<p>要解决这个问题,只需显式指定character类:</p>
<pre><code>import re
regex = re.compile('^[A-Za-z]\d{2}[A-Za-z]{5}$')
while True:
password = input('Please enter a password: ')
if regex.search(password):
print('Yay! Your password is valid!')
break
else:
print("Oh no, that's not right. You need a letter, then two numbers, then five letters. ", end='')
</code></pre>