什么是*****的正则表达式?(*之间没有空格)
gsub(pattern = "??", replacement="", txt1)
Run Code Online (Sandbox Code Playgroud)
我已经完成了 [**]*$, [^**]+$, [**]*$
> x <- c("** ***", "*****", "***")
> grep("\\*{5}", x, value = TRUE)
## [1] "*****"
Run Code Online (Sandbox Code Playgroud)
因此,找到五个连续*符号的可能正则表达式之一是\\*{5}.
如果要查找不包含空格的所有字符串,最简单的方法是搜索空格,然后使用invert参数grep.
> grep("\\s", x, invert = TRUE, value = TRUE)
## [1] "*****" "***"
Run Code Online (Sandbox Code Playgroud)
大多数正则表达式元字符都可以在字符类中使用而无需转义.对我而言,它更具可读性(如果你有其他的东西,解释反斜杠,它会更有帮助).
grep('[*]{5}', x, value=TRUE)
Run Code Online (Sandbox Code Playgroud)
如果这不是另一个表达式的一部分,fixed=TRUE那么非常方便:
grep('*****', x, value=TRUE, fixed=TRUE)
Run Code Online (Sandbox Code Playgroud)