擅长:python、mysql、java
<p>使用<code>re.finditer()</code>迭代所有匹配项。然后使用<code>max()</code>和键函数查找最长的。使其成为一个函数,以便可以使用不同的组</p>
<pre><code>import re
def find_longest(sequence, group):
# build pattern
pattern = fr"(?:{group})+"
# iterate over all matches
matches = (match[0] for match in re.finditer(pattern, sequence))
# find the longest
return max(matches, key=len)
seq = "AGATCAGATCTTTTTTCTAATGTCTAGGATATATCAGATCAGATCAGATCAGATCAGATC"
find_longest(seq, "AGATC")
</code></pre>