擅长:python、mysql、java
<p>-(?:[a-zA-Z]+\d[a-zA-Z\d]<em>\d+[a-zA-Z][a-zA-Z\d]</em>)-*</p>
<p>也应该起作用</p>
<p>刚刚增加了资本A-Z</p>
<pre><code>import re
test='k8s-configuration-int-mbus_config-int-mbus-deployment-db9c64cd-n4tww_central_6d499584'
print (re.sub(r'(?i)-(?:[a-zA-Z]+\d[a-zA-Z\d]*|\d+[a-zA-Z][a-zA-Z\d]*)-.*', '', test))
# result
k8s-configuration-int-mbus_config-int-mbus-deployment
</code></pre>
<p>基本上,使用sub,我们提取字符串中不匹配的部分,即抑制匹配的值并仅拾取不匹配的数据</p>
<p>这是一种反向分析</p>
<p>感谢@anubhava</p>