Мы можем изменить диапазон (:
) на -
и вместо [[
. В шаблоне мы также указываем ^
и $
для начала и конца строки соответственно. +
для букв и цифр указывает одну или несколько ...
grepl("^[A-Za-z]+-[0-9]+$", str1)
#[1] TRUE FALSE FALSE
Или, если мы хотим использовать [[
,
grepl("^[[:alpha:]]+-\\d+$", str1)
#[1] TRUE FALSE FALSE
data
str1 <- c("ABC-123", "123-ABC", "A1-B2")