Поиск без пробелов до и после, что-то вроде:
regmatches(str, gregexpr("\\S*b\\S*", s))
# [[1]]
# [1] "abc" "abc"
Специальные символы регулярного выражения задокументированы в ?regex
.В этом случае \\s
соответствует «любому символу, подобному пробелу», а \\S
- его отрицание, поэтому любой символ, не являющийся пробелом.Вы можете указать более конкретно, например, \\w
(символ «слово», такой же, как [[:alnum:]_]
).*
означает ноль или более, а +
означает один или более (что-то принудительное).