擅长:python、mysql、java
<p>据我所知,马蒂金的回答并非百分之百正确。UUID-4有五组十六进制字符,第一组有8个字符,第二组有4个字符,第三组有4个字符,第四组有4个字符,第五组有12个字符。</p>
<p>但是,要使其成为有效的UUID4,第三组(位于<strong>中间的组)必须以4开头:</p>
<pre><code>00000000-0000-4000-0000-000000000000
^
</code></pre>
<p>第四组必须从8,9,a或b开始</p>
<pre><code>00000000-0000-4000-a000-000000000000
^ ^
</code></pre>
<p>因此您必须将Martijn的regex</em>更改为:</p>
<pre><code>import re
uuid4hex = re.compile('[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}\Z', re.I)
</code></pre>
<p>希望这有帮助!</p>