2

例如,有变量名称列表,如

variable<- c('A1234','A1234M6','A1234X5','A1565','A2456Z4','1245')

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

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

它将返回所有以A开头的变量,我如何修改代码以达到我的目的?

4

1 回答 1

4

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

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

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

grep('^A[0-9]{4}$', variable, value=TRUE)
于 2015-10-23T19:13:10.280 回答