使用Python搜索文本文件中的重复模式数

2024-04-26 23:17:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道关于我可以用来输出文本文件中找到的模式数量的代码的任何建议

示例:我有一个带有("ABBAABBBAAABAB")的文本文件,我想搜索像("ABA")这样的特定模式,但我不希望它将最后一个字母作为模式的一部分,只计算新字母

我尝试过使用split()count(),但它似乎给出了每一行的数字,而不是整个文件,当我不使用split()将其放入列表时,它只打印0

举个例子,它告诉我:

0
0
0
0
0 

当拆分时,它会起作用,但不会只给出每行的总和,例如:

23
32
12
20
15

我怎样才能得到我在整个文件中搜索的模式的总和,仅仅是一个数字,比如150等等

非常感谢你的帮助谢谢


Tags: 文件代码示例列表数量count字母模式
2条回答
import re
input_text = 'ABBAABBBAAABAB'
pattern = 'ABA'
# removing last letter
input_text = input_text[:-1]
result = len([*re.finditer(pattern, input_text)])

结果将具有所需的计数

 import re
 data="ABBAABBBAAABABABA"
 matches=re.finditer(r"(ABA)+",data)
 for match in matches:
      print(match)

输出:

 <re.Match object; span=(10, 13), match='ABA'>
 <re.Match object; span=(14, 17), match='ABA'>

相关问题 更多 >