Так что я довольно хорошо разбираюсь в регулярных выражениях, но я впервые использую его в R (строго используя библиотеку stringr). У меня есть следующая строка, где я хочу, чтобы совпадать только для «синий» «красный» и / или «зеленый». Я также хочу отдельную группу соответствия для каждого. Когда я использую это регулярное выражение для одной и той же тестовой строки в Rubular (онлайн-редактор ruby regex), он работает именно так, как я хочу, но когда я делаю это в R, он генерирует две подходящие группы, каждая из которых предназначена для синего (хотя синий появляется только один раз в тестовой строке). Что я делаю не так и как я могу это исправить, не используя другую библиотеку?
Код:
library(stringr)
text="I like blue red and green"
reg<-"(blue|red|green)"
str_match(text,reg)
Вывод:
[,1] [,2]
[1,] "blue" "blue"