我正在尝试构建一个使用R&#39 {s} agrepl
进行近似匹配的函数。
我正在使用正则表达式模式,从我的角度来看,它不被视为正则表达式。
我通过在REPL中运行以下测试来得出这个结论:
> patterns <- c("ha","^ha","ha$","^ha$","(^)ha","ha($)")
> sapply(patterns,agrepl,x="ha",max.distance=0L,fixed=FALSE)
ha ^ha ha$ ^ha$ (^)ha ha($)
TRUE TRUE TRUE TRUE FALSE FALSE
> sapply(patterns,grepl,x="ha",fixed=FALSE)
ha ^ha ha$ ^ha$ (^)ha ha($)
TRUE TRUE TRUE TRUE TRUE TRUE
我在使用正则表达式时并不擅长,但我非常确定我的所有模式都应该匹配&#34; ha&#34;。
假设我不应该发生正确的行为,你是否可以提出另一个功能/解决方案来匹配我的模式&#34; ha&#34;?
更具体地说,我需要一个模糊匹配器来帮助我在非结构化数据中找到关键字。
UPDATE 我应该指出,我使用正则表达式的唯一原因是因为我正在寻找关键字(与它们周围的空格匹配)。 如果我能确保&#34;哈哈&#34;不会匹配&#34; ha&#34;但是&#34; ha foo&#34;那么这个问题不需要正则表达式。