如何检测以'abc'开头,然后以'n'数字然后又是字母的字符串?

时间:2018-07-14 18:02:35

标签: r regex

我有一堆琴弦:

x<-c('abc13faifnaisnf'
,'abc134ivjndnva'
,'abc2133knvknanv'
,'abc123214isdjvdnvsdnv'
,'abc9nakcnq'
,'abcdjodjsojaca'
,'abc102ei1e11e1'
,'aacqdqjofjo211e'
,'abc1232414141242jf12132')

我需要一种方法来帮助我检测以abc开头,然后有数字然后只有字母的字符串。

在上述情况下,我希望输出为:TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE

如何编写正则表达式(或任何其他方法)来检测到此?

2 个答案:

答案 0 :(得分:3)

我们在字符串的开头(abc)使用模式^,然后是一个或多个数字([0-9]+),然后是一个或多个字母({{1} })直到字符串的结尾([[:alpha:]]+

$

数据

grepl("^abc[0-9]+[[:alpha:]]+$", x)
#[1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE

答案 1 :(得分:0)

"^abc[0-9]+[A-z]+$"应该做您想要的。