gpt4 book ai didi

regex - 模糊字符串匹配和正则表达式

转载 作者:行者123 更新时间:2023-12-02 10:01:35 25 4
gpt4 key购买 nike

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

example <- c("text text word1 text text word2 text text", ...)

我正在尝试确定哪些句子符合以下规则:

  • 该句子同时包含“word1”和“word2”
  • “word1”位于“word2”之前
  • “word1”和“word2”之间有零到三个单词

这可以使用普通的正则表达式来完成。然而,问题是“word1”或“word2”可能包含拼写错误(我预计这两个单词在一起的距离最多为 3)。拼写错误的示例可能是“wrod1”、“word2”、“wrd1”等。我还想在距离约束内匹配包含这些单词的拼写错误的句子。因此我尝试使用 agrepl:

agrepl("(?:.*?)\\bword1\\b(?:\\s(?:\\w+\\s){0,3})\\bword2\\b(?:.*?)", example, fixed=FALSE, max=3)

但是,我相信距离是根据整个句子计算的,而不仅仅是“word1”和“word2”,因此我几乎永远不会以这种方式获得任何匹配项。有关如何解决此问题的任何建议,或者 agrepl/regex 不是解决此问题的最佳工具吗?

最佳答案

这符合您的规则,但是我不确定您的拼写错误会是什么样子。如果您能举一些例子,那就太好了。

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

关于regex - 模糊字符串匹配和正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com