擅长:python、mysql、java
<p>您可以使用regex <code>\.\d+,\d+\.</code>来查找该模式的所有匹配项,但是您需要做一些额外的工作来获得预期的输出,特别是因为您希望将<code>.5,6.7,8.</code>视为两个匹配项。在</p>
<p>以下是一个潜在的解决方案:</p>
<pre><code>def transform(s):
s = re.sub(r'(\.\d+,\d+)+\.', lambda m: m.group(0).replace('.', '\n'), s)
return tuple(s.split('\n'))
</code></pre>
<p>示例:</p>
^{pr2}$
<p>若要在没有匹配项时拆分文件扩展名,可以使用以下命令:</p>
<pre><code>def transform(s):
s = re.sub(r'(\.\d+,\d+)+\.', lambda m: m.group(0).replace('.', '\n'), s)
groups = s.split('\n')
groups[-1:] = groups[-1].rsplit('.', 1)
return tuple(groups)
</code></pre>
<p>除了<code>'Test2.wma'</code>变为{<cd4>},这与上面的输出相同,<code>'Test5,7,8.sss'</code>和{<cd5>}的行为相似。在</p>