擅长:python、mysql、java
<p>正如其他答案所指出的,A和p不是可选的。此外,您的正则表达式将匹配其他字符串(如“:A-:A”或“98387899A-A”)。在</p>
<p>这是有效的,而且会比你的更严格:</p>
<pre><code>((?:[01]?[0-9]:)?[0-9]{1,2}(?:AM|PM)?)-((?:[01]?[0-9]:)?[0-9]{1,2}(?:AM|PM)?)
</code></pre>
<p>有关regex语法的完整描述,请参见<a href="https://docs.python.org/2/library/re.html#regular-expression-syntax" rel="nofollow">the Python manual</a>。在</p>