如何设置正则表达式以在 R 中使用 grep 或匹配的 dplyr 查找变量?

How to set up the regular expression to find the variables with grep or matches of dplyr in R?

例如有

这样的变量名列表
variable<- c('A1234','A1234M6','A1234X5','A1565','A2456Z4','1245')

这里我想设置正则表达式来查找以A开头的变量名,并且只能在A之后使用数字?即,仅 return 'A1234''A1565',我尝试了以下代码,

var[grepl('^A[0-9]',var)]

它会return所有变量都以A开头,我该如何修改代码来达到我的目的?

我们匹配字符串中以 'A' 开头 (^) 后跟一个或多个数字 ([0-9]+) 到字符串结尾 ($).

grep('^A[0-9]+$', variable, value=TRUE)

如果规则是基于长度的,比如4,我们可以在大括号中指定限制字符数为5的字符串,并匹配'A'作为第一个字符后跟4个数字字符串的末尾。

grep('^A[0-9]{4}$', variable, value=TRUE)