寻找模糊匹配函数,R' agrepl

时间:2018-04-16 19:19:24

标签: r regex agrep

我正在尝试构建一个使用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;那么这个问题不需要正则表达式。

0 个答案:

没有答案