Регулярное усилие длина заданного c регулярного выражения - PullRequest
0 голосов
/ 20 марта 2020

Я использую R и мне нужно регулярное выражение для

блока из n символов, начинающихся с нуля или более пробелов и продолжающихся одной или несколькими цифрами впоследствии (без других символов)

Примеры (из допустимых строк)

  • 123456789
  • kfasdf 3456789asdf
  • a 1

Примеры недопустимых строк

  • 12345 789
  • 1 9
  • a 678a

1 Ответ

0 голосов
/ 20 марта 2020
  1. Добавьте запятую перед пробелами
  2. , разделенные запятой
  3. оставьте только пробел или цифры
  4. Подсчитайте количество символов и посмотрите, соответствует ли оно необходимый размер
s = c("123456789", "kfasdf  3456789asdf",
      "a        1", "12345 789", "1       9",
      "a     678a")

sapply(strsplit(gsub("(\\s+)", ",\\1", s), ","), function(x) {
    any(nchar(gsub("[A-Za-z]", "", x)) == 9)
})
#[1]  TRUE  TRUE  TRUE FALSE FALSE FALSE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...