Я работаю над регулярным выражением, чтобы извлечь некоторый текст из файлов, загруженных из базы данных газеты.Файлы в основном хорошо отформатированы.Однако полный текст каждой статьи начинается с четко определенной фразы ^Full text:
.Однако окончание полного текста не разграничено.Лучшее, что я могу понять, это то, что полный текст заканчивается различными тегами метаданных, которые выглядят так: Subject: , CREDIT:, Credit
.
Итак, я, конечно, могу получить начало статьи.Но мне очень трудно найти способ выбрать текст между началом и концом полного текста.
Это осложняется двумя факторами.Во-первых, очевидно, что конечная строка меняется, хотя я чувствую, что могу остановиться на чем-то вроде: `^ [: alnum:] {5,}: ', и это захватит окончание.Но другой сложный фактор заключается в том, что есть похожие теги, которые появляются до начала полного текста.Как получить R только для того, чтобы вернуть текст между регулярным выражением полного текста и конечным регулярным выражением?
test<-c('Document 1', 'Article title', 'Author: Author Name', 'https://a/url', 'Abstract: none', 'Full text: some article text that I need to capture','the second line of the article that I need to capture', 'Subject: A subject', 'Publication: Publication', 'Location: A country')
test2<-c('Document 2', 'Article title', 'Author: Author Name', 'https://a/url', 'Abstract: none', 'Full text: some article text that I need to capture','the second line of the article that I need to capture', 'Credit: A subject', 'Publication: Publication', 'Location: A country')
Моя текущая попытка здесь:
test[(grep('Full text:', test)+1):grep('^[:alnum:]{5,}: ', test)]
Спасибо.