gpt4 book ai didi

regex - 不匹配句子中否定词的更易读的方式

转载 作者:数据小太阳 更新时间:2023-10-29 03:04:23 26 4
gpt4 key购买 nike

我试图不匹配句子中的否定词,例如形容词与not,never。目前我使用字符级否定。 的示例 ^(?:[^n]+|n(?:$|[^o]|o(?:$|[^t]|\w))) 。对于一个或多个否定词(not, never, any, nobody, ......)是否有一种简单的方法(更具可读性)?这是not否定的代码:

package main

import(
"fmt"
"regexp"
)

func main (){
sentence:="he is not satisfied"
re := regexp.MustCompile(`^(?:[^n]+|n(?:$|[^o]|o(?:$|[^t])))\ssatisfied`)
fmt.Println(re.FindAllString(sentence, -1))
sentence="he is satisfied"
fmt.Println(re.FindAllString(sentence, -1))
}

谢谢

最佳答案

不幸的是,出于性能原因(尽管 Go 正则表达式解析器的性能不是特别好),Go 的正则表达式包不支持前瞻/后视,因此没有很好的方法可以使用正则表达式来做到这一点。

尽管如此,正则表达式并不适合这种情况。它需要非常复杂的表达式来进行非常简单的匹配。如果我要实现类似的东西,我可能只会在空格/标点符号上拆分字符串并进行自己的匹配。更易于使用并且可能具有更好的性能。

关于regex - 不匹配句子中否定词的更易读的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45217891/

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