Если вы планируете сопоставить весь текст после Country:
/ Country
до следующей запятой, вы можете использовать
Country(?:\s*:)?\s*([^,]*)
См. Демонстрационную версию regex
Если вы точно знаете, что все, что вам нужно, это 3 слова после Country
, используйте
Country(?:\s*:)?\s*([\w'-]+(?:\s+[\w'-]+){2})
См. это демонстрационное выражение regex .
В R используйте stringr::str_match
:
stringr::str_match(text, "Country(?:\\s*:)?\\s*([^,]*)")[,2]
stringr::str_match(text, "Country(?:\\s*:)?\\s*([\\w'-]+(?:\\s+[\\w'-]+){2})")[,2]
Детали шаблона
Country
- буквенная строка (?:\s*:)?
- необязательная последовательность из 0+ пробелов и затем двоеточия \s*
- 0+ пробелов ([^,]*)
- Захват группы № 1, соответствующей 0 или более символам кроме запятой.