首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模糊字符串匹配与正则化

模糊字符串匹配与正则化
EN

Stack Overflow用户
提问于 2016-02-17 11:19:14
回答 1查看 800关注 0票数 3

我有一个句子向量,例如:

代码语言:javascript
复制
example <- c("text text word1 text text word2 text text", ...)

我试图找出哪些句子符合以下规则:

  • 这个句子同时包含"word1“和"word2”
  • "word1“先于"word2”
  • "word1“和"word2”之间有0到3个单词。

这可以用一个正常的正则表达式来完成。但是,问题是"word1“或"word2”可以包含排字(我预计两个单词最多距离为3)。键入的例子可以是"wrod1“、"woord2”、"wrd1“等等。我还想在距离约束范围内匹配包含这些单词的排字的句子。因此,我试图使用agrepl

代码语言:javascript
复制
agrepl("(?:.*?)\\bword1\\b(?:\\s(?:\\w+\\s){0,3})\\bword2\\b(?:.*?)", example, fixed=FALSE, max=3)

然而,我相信距离是用整个句子来计算的,而不仅仅是用"word1“和"word2”来计算,因此我几乎永远不会用这种方式得到任何匹配。对于如何解决这一问题,有什么建议吗?还是存在任何解决这个问题的最佳工具?

EN

回答 1

Stack Overflow用户

发布于 2016-02-17 11:26:46

这符合你的规则,但我不知道你的排字会是什么样子。如果你能举个例子,那就太好了。

^(?=.*word1\s+(?:\S+\s+){0,3}word2.*$).* 演示

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35455212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档