擅长:python、mysql、java
<p><strong>这是您使用的第一个代码:</strong></p>
<pre><code>s = (r '([\W_])([^_]+)_CMV', f ) - this returns a syntax error
</code></pre>
<p><strong>这是上述代码的第一个解决方案:</strong></p>
<p>正如您在本<a href="https://regex101.com/r/QLEH5d/1" rel="nofollow noreferrer">LINK</a>中所看到的,上面的代码工作得非常好。在命令中,<code>r</code>和正则表达式的开头之间有空格。另外,当使用这个命令时,您必须使用<code>group(2)</code>,正如您在正则表达式的附加链接中看到的那样。因为<code>group(1)</code>给你<code>_</code><strong>(下划线)</strong>。另外,在这里您没有使用<code>re.search</code>,这可能会给您带来错误</p>
<p><strong>您可以使用如下内容:</strong></p>
<pre><code>s = re.search (r'([\W_])([^_]+)_CMV', f)
</code></pre>
<hr/>
<p><strong>这是您正在使用的第二个代码:</strong></p>
<pre><code>s = re.search (r'([^_]+)_CMV', f ) - this returns an Attribute error
</code></pre>
<p><strong>这是上述代码的第二种解决方案:</strong></p>
<p>在这个<a href="https://regex101.com/r/QLEH5d/2" rel="nofollow noreferrer">LINK</a>中,上面的代码可以很好地工作。在您的命令中,它显示了<code>AttributeError: 'NoneType' object has no attribute 'group'</code>,这肯定是<code>files</code>中确实有<code>NONE</code>值的标志。此外,在使用此命令时,必须使用<code>group(1)</code>,如所附链接所示</p>