Каждый раз, когда вы звоните data.read()
, он начинает читать с того места в файле, где завершился последний вызов. Поскольку первый вызов читает весь файл (так как вы не указали ограничение), все остальные вызовы начинают чтение с конца файла, поэтому они ничего не читают.
Вы должны прочитать файл в переменную, а затем использовать его вместо многократного вызова data.read()
.
Вам также нужно использовать re.search()
, а не re.match()
. См. В чем разница между re.search и re.match?
import re
file = 'data_files/test_files/content.txt'
regex_1 = re.compile("google")
regex_2 = re.compile("yahoo")
with open(file, 'r') as data:
print ("Checking Regex 1")
if regex_1.search(contents):
count_c = len(regex_1.findall(contents))
print ("Matched Regex 1 - " + str(count_c))
print("Checking Regex 2")
if regex_2.search(contents):
count_d = len(regex_2.findall(contents))
print("Matched Regex 2 - " + str(count_d))
else:
print ("No match found")