擅长:python、mysql、java
<p>regex <code>'S(.{2,6}?)N'</code>将只提供长度为2-6个字符的匹配项。在</p>
<p>{return To the shortest}使用匹配的子环。在</p>
<p>完整示例:</p>
<pre><code>import re
p=re.compile('S(.{2,6}?)N')
s='ASDFANSAAAAAFGNDASMPRKYNSAAN'
s1=p.findall(s)
if s1:
print sorted(s1, key=len)[0]
print min(s1, key=len) # as suggested by Nick Presta
</code></pre>
<p>这是通过按长度对<code>findall</code>返回的列表进行排序,然后返回排序后的列表中的第一项。在</p>
<p>编辑:尼克·普雷斯塔的回答更为优雅,我不知道<code>min</code>也可以采用<code>key</code>的论点。。。在</p>