擅长:python、mysql、java
<p>以下内容应简化当前的正则表达式:</p>
<pre><code>import re
s = '18-02-202010:44:48PEDMILANO OVE3ST- BINASCOA1,40'
re.search(r'\:\d+([A-Z].*?)(?=\d+\,\d+$)', s).group(1)
# 'PEDMILANO OVE3ST- BINASCOA'
</code></pre>
<hr/>
<p>见<a href="https://regex101.com/r/Twowhb/1" rel="nofollow noreferrer">demo</a></p>
<ul>
<li><p><code>\d+([A-Z].*?)(?=\d+\,\d+$)</code></p>
<ul>
<li><code>\</code>:匹配字符:字面上(区分大小写)</li>
<li><code>\d+</code>:匹配一个数字(等于<code>[0-9]</code>)</li>
<li><code>+</code>量词-在一次和无限次之间匹配,尽可能多地匹配,根据需要返回(贪婪)</li>
<li>第一捕获组<code>([A-Z].*?)</code>
匹配下面列表中的单个字符<code>[A-Z]</code>
<ul>
<li><code>A-Z</code>a(索引65)和Z(索引90)之间的单个字符(区分大小写)</li>
<li><code>.*?</code>匹配任何字符(行终止符除外)</li>
<li><code>*?</code>量词-在零次和无限次之间进行匹配,匹配次数尽可能少,根据需要进行扩展(惰性)</li>
</ul></li>
<li>正向前瞻(?=\d+\,\d+$)
断言下面的正则表达式匹配
<ul>
<li><code>\d+</code>匹配一个数字(等于<code>[0-9]</code>)</li>
<li><code>+</code>量词-在一次和无限次之间匹配,尽可能多地匹配,根据需要返回(贪婪)
<code>\</code>,匹配字符,字面上(区分大小写)</li>
</ul></li>
<li><code>\d+</code>匹配一个数字(等于<code>[0-9]</code>)</li>
<li><code>+</code>量词-在一次和无限次之间匹配,尽可能多地匹配,根据需要返回(贪婪)</li>
<li><code>$</code>断言行末尾的位置</li>
</ul></li>
</ul>