如何设置正则表达式以在 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)
例如有
这样的变量名列表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)