У меня есть рукопись, и я хотел бы извлечь из нее все цитаты с помощью регулярных выражений. Работая над тестовым образцом из рукописи, я разработал регулярное выражение - см. Здесь: Регулярное выражение в R: Как извлечь цитаты из рукописи . Он работает безошибочно на образце, называемом samp
:
str_extract_all(samp, "\\([A-Za-z][^)]*\\d{4};|;\\s[A-Za-z][^)]*\\d{4}\\)|\\([A-Za-z][^)]*\\d{4}.*?\\)|\\b[A-Z][a-z].*\\([^A-Za-z)]\\w.*?\\)|\\b[A-Z][a-z].*\\(forthcoming\\)|\\b[A-Z][a-z].*\\(in preparation\\)|\\([A-Za-z][^);]*\\d{4}|(?<=;\\s)[A-Za-z][^);]*\\d{4}")
НО: регулярное выражение плохо работает с реальной рукописью (которая, очевидно, больше и может иметь более сложную внутреннюю структуру, чем образец) потому что, в отличие от примера, я не могу преобразовать рукопись в одну связную символьную строку.
Я попытался прочитать документ таким образом:
read.table([my path], header = F, sep = "\n", fill = F, stringsAsFactors = F, strip.white = T)
, и я использовал paste
, чтобы объединить все вместе:
paste0(manuscript$V1, collapse = "")
, но у получающегося объекта все еще есть внутренние деления, которые не позволяют регулярному выражению беспрепятственно работать со всем документом.
Так, как рукопись может быть считывание или последующая обработка таким образом, что он составляет одну непрерывную строку символов ?
Помощь с этим вопросом очень ценится.