首页 > 解决方案 > 使用 grepl() 函数在 R 中进行模式匹配

问题描述

我有以下模式匹配 -

grepl("Close_[a-zA-Z]{0,}_{0,1}ASE_[a-zA-Z]{0,}_{0,1}", "Close_ASE_RS____")
#TRUE

R将此作为肯定匹配返回。不应该是FALSE因为我有"____"超过 1重复的"_",但在我的模式中,我只1通过了最大匹配"_{0,1}"

任何为什么它发生的指针都会非常有帮助。

谢谢,

标签: r

解决方案


尝试在初始模式之后指示字符串结束:

grepl("Close_[a-zA-Z]{0,}_{0,1}ASE_[a-zA-Z]{0,}_{0,1}$", "Close_ASE_RS____")

# [1] FALSE

否则,您可以在初始下划线之后放置任何内容RS,它会匹配它。


推荐阅读