用于找到重复单词的grep掩码

时间:2016-06-07 14:16:50

标签: r grep

我只想找到包含重复单词HALL的行(不止一次)。例如,"HALL #1 HALL #2 HALL #3"。我试着用

grepl("HALL{2,}", "HALL #1 HALL #2 HALL #3")

grepl返回FALSE。我做错了什么?

3 个答案:

答案 0 :(得分:3)

您可以使用stringr

str_count("HALL #1 HALL #2 HALL #3", 'HALL')>1
#[1] TRUE

答案 1 :(得分:3)

您可以使用(?:.*?HALL.*?){2,}

grepl("(?:.*?HALL.*?){2,}", "HALL #1 HALL #2 HALL #3")
#[1] TRUE

Here is a breakdown上述正则表达式。

答案 2 :(得分:1)

{2,}表示在它之前匹配字符两次或更多次。因此,如果你想匹配HALL模式,你需要在它周围放一个括号,而且似乎你不是要连续匹配HALL,所以你需要填充模式一点点。以下应该做的工作:

grepl("(.*HALL.*){2,}", "HALL #1 HALL #2 HALL #3")
[1] TRUE