R中的正则表达式找到*****

时间:2014-04-20 21:51:38

标签: regex r gsub

* * * * *的正则表达式是什么? (*之间没有空格)

gsub(pattern = "??", replacement="", txt1)

我已完成[**]*$, [^**]+$, [**]*$

2 个答案:

答案 0 :(得分:8)

> x <- c("** ***", "*****", "***")
> grep("\\*{5}", x, value = TRUE)
## [1] "*****"

因此,找到五个连续*符号的可能正则表达式之一是\\*{5}

如果您想查找不包含空格的所有字符串,最简单的方法是搜索空格,然后使用invert grep参数

> grep("\\s", x, invert = TRUE, value = TRUE)
## [1] "*****" "***"

答案 1 :(得分:8)

大多数正则表达式元字符都可以在字符类中使用而无需转义。对我而言,它更具可读性(如果你还有别的东西可以帮助我解释反斜杠)。

grep('[*]{5}', x, value=TRUE)

如果这不是另一个表达式的一部分,fixed=TRUE非常方便:

grep('*****', x, value=TRUE, fixed=TRUE)