r - 在字符串中用 $ grep

标签 r regex

在 R 中,我如何 grep 字符串中有 $ 的内容。在下面的示例中,我需要 grep 字符串“NB6106$MU-MU.rma”

x<-c("NB6106$MU-MU.rma", "NB610634$MU-MU.rma")

x[grep(pattern="*6106$*.rma", x = x)] #does not work

最佳答案

你可以使用

x<-c("NB6106$MU-MU.rma", "NB610634$MU-MU.rma")
x[grep(pattern="6106\\$.*\\.rma", x = x)]

参见 R demo

详情

  • 6106\\$ - 6106$ 子串
  • .* - 任何 0+ 个字符
  • \\.rma - .rma 子串

如果您打算确保不使用 grep 11116106$...rma,您可以使用

"(^|\\D)6106\\$.*\\.rma$"

其中 (^|\\D) 匹配字符串开头 (^) 或 (|) 非数字字符 (\D) 和结尾处的 $ 确保字符串的结尾紧跟在 .rma 之后。

关于r - 在字符串中用 $ grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52701093/

相关文章:

r - 在 getURL 中设置 "an informative User-Agent string"

r - 在 R 中关注使用 twitter Rest Api 的人

javascript - RegEx - JavaScript - 匹配单词而不匹配另一个单词

javascript - 正则表达式考虑换行符

JavaScript 正则表达式由连字符和空格分隔

r - 输出 ggplot 结果在一个 pdf 中,但在 R 中有几页

使用 ggplot2 从 geom_rect 中删除边框

r - 基本 R 图中线型(或标记)和颜色的图例

r - 在 R 中固定 =T 的字符串开头的 grep?

regex - 匹配字符串的正则表达式,不以特定字符串结尾