擅长:python、mysql、java
<p>您可以使用这个正则表达式来捕获以您的格式给出的testcaseid</p>
<pre><code>(?<=testcaseid_)[^_]+_[^_]+
</code></pre>
<p>这实际上捕获了一个文本,它们之间正好有一个下划线,前面是<code>testcaseid_</code>文本,使用正向lookback。这里<code>[^_]+</code>捕获除下划线以外的一个或多个任意字符,后跟<code>_</code>,然后再次使用<code>[^_]+</code>捕获除<code>_</code>之外的一个或多个任意字符</p>
<p><a href="https://regex101.com/r/AS9IaK/1" rel="nofollow noreferrer">Check out this demo</a></p>
<p>看看这个Python代码</p>
<pre><code>import re
list = ['GeneralBKT_n24_-e_dee_testcaseid_blt12_0001_s3_n4', 'GeneralBKT_n24_-e_dee_testcaseid_blt12_0001_s6_n9']
for s in list:
grp = re.search(r'(?<=testcaseid_)[^_]+_[^_]+', s)
if grp:
print(grp.group())
</code></pre>
<p>输出</p>
<pre><code>blt12_0001
blt12_0001
</code></pre>