R regex / grep / grepl для букв, за которыми следуют да sh и цифры - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь найти правильную нотацию grep для идентификации строк с этим шаблоном: любое количество букв, за которыми следует da sh (-), за которым следует любое количество цифр. Например, ABC-123 подойдет, а 123-ABC или A1-B2 - нет.

Я пробовал grepl('[[A:Za:z]]\\-[[0:9]]','ABC-123'), но не получаю правильных результатов.

Есть предложения?

1 Ответ

3 голосов
/ 15 апреля 2020

Мы можем изменить диапазон (:) на - и вместо [[. В шаблоне мы также указываем ^ и $ для начала и конца строки соответственно. + для букв и цифр указывает одну или несколько ...

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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...