查找在子字符串 [Python] 中连续出现的特定模式的最大出现次数
Find for the maximum occurrences of a particular pattern appearing consecutively within a substring [Python]
假设我想在字符串中找到模式 AAGTC AGTCAAGTCAAGTCAAGTCXYZSDAAGTCAAGTC
并且 return AAGTC 连续出现的最大次数 (3)。
我正在尝试执行以下操作 -
使用重新查找全部查找所有事件
定义一个变量 m = 所有出现次数的总和
然后我尝试从 m 开始迭代,直到使用 re.search 找到 AAGTC{m}
的匹配项。但它不起作用?我该怎么办?
您的字符串中有 5 个 "AAGTC",但它们不是连续的。您可以尝试从m开始,逐渐减小直到找不到匹配。
>>> "AGTCAAGTCAAGTCAAGTCXYZSDAAGTCAAGTC".count("AAGTC")
5
>>> ("AAGTC" * 3) in "AGTCAAGTCAAGTCAAGTCXYZSDAAGTCAAGTC"
True
>>> ("AAGTC" * 4) in "AGTCAAGTCAAGTCAAGTCXYZSDAAGTCAAGTC"
False
假设我想在字符串中找到模式 AAGTC AGTCAAGTCAAGTCAAGTCXYZSDAAGTCAAGTC
并且 return AAGTC 连续出现的最大次数 (3)。
我正在尝试执行以下操作 - 使用重新查找全部查找所有事件 定义一个变量 m = 所有出现次数的总和
然后我尝试从 m 开始迭代,直到使用 re.search 找到 AAGTC{m}
的匹配项。但它不起作用?我该怎么办?
您的字符串中有 5 个 "AAGTC",但它们不是连续的。您可以尝试从m开始,逐渐减小直到找不到匹配。
>>> "AGTCAAGTCAAGTCAAGTCXYZSDAAGTCAAGTC".count("AAGTC")
5
>>> ("AAGTC" * 3) in "AGTCAAGTCAAGTCAAGTCXYZSDAAGTCAAGTC"
True
>>> ("AAGTC" * 4) in "AGTCAAGTCAAGTCAAGTCXYZSDAAGTCAAGTC"
False