擅长:python、mysql、java
<p>使用<code>re.findall</code>获取所有匹配项。使用两个lookahead,一个用于验证匹配是否包含数字,另一个用于验证匹配是否包含字母。你知道吗</p>
<pre><code>document = "some blah blah blah with id X12354, id 1234Z and id 12P555. All are 50 years old."
matches = re.findall('(?=[a-z0-9]*[a-z])(?=[a-z0-9]*[0-9])[a-z0-9]+', document, re.IGNORECASE)
print(matches)
</code></pre>
<p>你可以在线试用regex <a href="https://regex101.com/r/TZnQji/1" rel="nofollow noreferrer">here</a>。你知道吗</p>