Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例如,有变量名称列表,如
variable<- c('A1234','A1234M6','A1234X5','A1565','A2456Z4','1245')
在这里,我想设置正则表达式来查找以 A 开头并且在 A 之后只有数字可用的变量名称?即,仅返回'A1234','A1565'我尝试了以下代码,
'A1234'
'A1565'
var[grepl('^A[0-9]',var)]
它将返回所有以A开头的变量,我如何修改代码以达到我的目的?
我们匹配以 ( ^) 开头的字符串中的模式,以 'A' 后跟一个或多个数字 ( [0-9]+) 到字符串的末尾 ( $)。
^
[0-9]+
$
grep('^A[0-9]+$', variable, value=TRUE)
如果规则基于长度,比如 4,我们可以在大括号中指定,以限制字符数为 5 且匹配 'A' 作为第一个字符,后跟 4 个数字到字符串末尾的字符串。
grep('^A[0-9]{4}$', variable, value=TRUE)