正则表达式强制特定正则表达式的长度

s16*_*210 5 regex r

我正在使用 R 并且需要一个正则表达式

以零个或多个空格开头并以一个或多个数字开头的N 个字符块

对于N = 9,这里是

有效字符串的例子

  • 123456789
  • kfasdf 3456789asdf
  • a 1

无效字符串的例子

  • 12345 789
  • 1 9
  • a 678a

d.b*_*d.b 0

  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
Run Code Online (Sandbox Code Playgroud)