0

我有一个字符串,我需要将该字符串与一个序列匹配,并确定在该序列中找到匹配序列的次数但它具有以下条件序列只能包含 ACGT 有效字符,因此 seq 可以是 ACGTGTCTG

字符串可以是 ACGnkG 其中 n 可以替换为 A 或 G k 可以替换为 C 或 T

我们如何通过将有效值替换为 n 和 k 来查找字符串是否与序列匹配

有正则表达式吗?

4

2 回答 2

2

re.findall(pattern, string)将返回一个包含所有匹配项的列表patternin stringlen(...)将返回列表中的项目数。

于 2012-09-05T01:13:08.577 回答
1

如果要计算模式的出现次数:

count_regex = sum(1 for _ in re.finditer(r'ACG[AG][CT]G', s))

如果要计算首先匹配模式的固定字符串的出现次数:

m = re.search(r'ACG[AG][CT]G', s)
count_fixed = s.count(m.group(0), m.start(0)) if m else 0
于 2012-09-05T01:28:30.790 回答