擅长:python、mysql、java
<p>使用<em>negative</em>lookbehind和lookahead:</p>
<pre><code>import re
s = 'sasdassdsadasdadas18-05-2018sdaq1213211214142'
print(re.findall(r'(?<!\d)\d{1,2}[-]\d{1,2}[-]\d{2,4}(?!\d)', s))
# ['18-05-2018']
</code></pre>
<p>这可以确保在所需内容的开头或结尾没有尾随数字。在</p>
<hr/>
<p>要证明它能处理您的错误案例:</p>
^{pr2}$