擅长:python、mysql、java
<p>另一个可行的办法是:</p>
<pre><code>import re
expression = r"[^_\r\n]+_[^_\r\n]+(?=(?:_[a-z0-9]{2}){2}$)"
string = '''
GeneralBKT_n24_-e_dee_testcaseid_blt12_0001_s3_n4
GeneralBKT_n24_-e_dee_testcaseid_blt81_0023_s4_n5
'''
print(re.findall(expression, string, re.M))
</code></pre>
<h3>输出</h3>
<pre><code>['blt12_0001', 'blt81_0023']
</code></pre>
<h3><a href="https://regex101.com/r/vqqlzt/1/" rel="nofollow noreferrer">Demo</a></h3>
<h3>正则表达式电路</h3>
<p><a href="https://jex.im/regulex/#!flags=&re=%5E(a%7Cb)*%3F%24" rel="nofollow noreferrer">jex.im</a>可视化正则表达式:</p>
<p><a href="https://i.stack.imgur.com/y73Tn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/y73Tn.png" alt="enter image description here"/></a></p>
<hr/>
<p>如果您希望简化/修改/探索表达式,在<a href="https://regex101.com/r/vqqlzt/1/" rel="nofollow noreferrer">regex101.com</a>的右上面板中已经解释过了。如果您愿意,还可以在<a href="https://regex101.com/r/vqqlzt/1/debugger" rel="nofollow noreferrer">this link</a>中查看它如何与一些示例输入匹配。你知道吗</p>
<hr/>