擅长:python、mysql、java
<p>您可以使用这个基于lookahead的regex:</p>
<pre><code>ext = r'\.exe'
regex = r'^(?=.+\.)(.*?)'
if has_digits: regex += r'(\d*)'
regex += ext + '$'
rePattern = re.compile(regex, re.I | re.U)
# ^(?=.+\.)(.*?)(\d*)\.exe$
</code></pre>
<p><a href="https://regex101.com/r/DXv0ep/1" rel="nofollow">RegEx Demo</a></p>
<p>Lookahead<code>(?=.+\.)</code>确保在点之前至少存在一个字符。你知道吗</p>