擅长:python、mysql、java
<p>在正则表达式中:</p>
<ul>
<li><code>+</code>:匹配前面标记的一个或多个<em></li>
<li><code>*</code>:匹配前面标记的<em>零个或多个</em></li>
</ul>
<p>现在:</p>
<ul>
<li><p><code>([0-9]{3})+</code>将匹配一个或多个时间(<code>+</code>)3个连续数字(<code>[0-9]{3}</code>),因此它在主要匹配组(即组0 098765432)中包含9个数字,忽略0987654321中的最后1,即匹配范围从索引48到56(<code>teststring[48:57]</code>)。您也可以使用<code>SRE_Match</code>对象的<code>span()</code>方法来检查这一点,例如<code>outSearch.span()</code></p></li>
<li><p><code>([0-9]{3})*</code>将匹配零个或多个时间(<code>*</code>)3个连续数字;因为它也可以匹配零时间,所以它匹配字符串的开头并在那里停止,将空字符串作为主要的匹配组输出,即匹配范围从字符串索引0到0</p></li>
</ul>