带正则表达式的grepl

带正则表达式的grepl,r,regex,grepl,R,Regex,Grepl,我很难将grepl与regex一起使用 下面是一个小例子: 我有一个字符向量: text <- c( "D_Purpose__Repairs" , "Age" , "F_Job" ) 然而,这返回: [1] FALSE FALSE FALSE 你能帮助我理解我做错了什么,我应该如何更正我的代码吗 您的建议将不胜感激。您不需要(也不可以)用反斜杠转义插入符号字符,并且您不能在正则表达式中的|周围添加额外的空格。这符合您的意愿: > grepl("^D_.+|^F_

我很难将grepl与regex一起使用

下面是一个小例子:

我有一个字符向量:

text <- c(

  "D_Purpose__Repairs" ,
  "Age" ,
  "F_Job"  
)
然而,这返回:

[1] FALSE FALSE FALSE
你能帮助我理解我做错了什么,我应该如何更正我的代码吗

您的建议将不胜感激。

您不需要(也不可以)用反斜杠转义插入符号字符,并且您不能在正则表达式中的|周围添加额外的空格。这符合您的意愿:

> grepl("^D_.+|^F_.+", text)
[1]  TRUE FALSE  TRUE

关于您的模式的一些评论:

  • \>D.+\124;\>F.+
    -此处,
    \>
    匹配单词的结尾位置,而此处的实际位置是单词的开头(因此,您可能需要尝试
    \
    
    > grepl("^D_.+|^F_.+", text)
    [1]  TRUE FALSE  TRUE
    
    grepl("^[DF]_.+", text)