Jak wyodrębnić numery wierszy, które pasują do wyrażenia regularnego w pliku tekstowym

Robię projekt dotyczący statystycznego tłumaczenia maszynowego, w którym muszę wyodrębnić numery wierszy z pliku tekstowego ze znacznikiem POS, który pasuje do wyrażenia regularnego (dowolny nierozdzielony czasownik frazowy z cząstką „na zewnątrz”) i zapisać numery linii do pliku (w Pythonie).

Mam to wyrażenie regularne: „w * _VB.? Sout_RP” i mój plik tekstowy z tagami POS: „Corpus.txt”. Chciałbym uzyskać plik wyjściowy z numerami linii zgodnymi z wyżej wymienionym wyrażeniem regularnym, a plik wyjściowy powinien mieć po jednym numerze linii na wiersz (bez pustych wierszy), np .:

2

5

44

Do tej pory wszystko, co mam w swoim skrypcie, jest następujące:

OutputLineNumbers = open('OutputLineNumbers', 'w')
with open('Corpus.txt', 'r') as textfile:
    phrase='\w*_VB.?\sout_RP'
    for phrase in textfile: 

OutputLineNumbers.close()

Masz pomysł, jak rozwiązać ten problem?

Z góry dzięki za pomoc!

questionAnswers(2)

yourAnswerToTheQuestion