# W tej wersji szukane słowo umieszczamy w wyrażeniu regularnym.
# Aby powiedzieć, że ma być to całe słowo, umieszczamy między znacznikiem \b oznaczającym "granicę słów"
# Aby znaki specjalne wprowadzone przez usera utraciły swoje specjalne znaczenie, korzystamy z funkcji escape
# (zasada przypominająca zapobieganie SQL injection).
import re

szukane = input('Podaj szukane słowo: ')
pattern = re.compile(r'\b' + re.escape(szukane) + r'\b')

nr = 0
with open('pan_tadeusz.txt', mode='r', encoding='utf-8') as plik:
    for linia in plik:
        for slowo in re.findall(pattern, linia):
            nr += 1

print(f'Szukane słowo {szukane} występuje {nr} razy.')
