Я пытаюсь использовать регулярные выражения в Python для синтаксического анализа большого текстового файла с разделителями табуляции построчно и печати строк, в которых строка содержит 5 или более экземпляров 0/1
или 1/1
.
Мой скрипт почти готов, но я борюсь с 5 или более экземплярами.
Это напечатает строки с одним совпадением.
import re
f = open ("infile.txt", "r")
out = open("outfile.txt", "w")
for line in f:
if re.match(r"(.*)(0|1)/(1)(.*)", line):
print >> out, line,
Чтобы напечатать только строки, имеющие 5 или более совпадений, я попробовал findall
и finditer
следующим образом, но они не сработали:
for line in f:
x = len(re.findall(r"(.*)(0|1)/(1)(.*)", line)):
if x > 5:
print >> out, line,
Кто-нибудь может мне с этим помочь?
Вот пример одной строки из текстового файла (в файле все пробелы — табуляции):
X 6529 . C A,G PASS AC=4,2;AF=0.6777 1/1:0,20 0/1:0,16 0/1:0,16 0/0:4,16 0/0:3,1