gpt4 book ai didi

regex - 在正则表达式中排除单词的方法(没有先行?)

转载 作者:行者123 更新时间:2023-12-01 08:54:13 28 4
gpt4 key购买 nike

如果我有输入:

hello cat
hellocat
hello gat

我想找到以单词“hello”开头且后面没有单词“cat”的 a 行。

是否可以否定一个组,例如:

hello[^(\s?cat)]

或者你只能在那个位置否定一组字符?如果没有,有什么方法可以做到这一点?我能够做到这一点的唯一方法是积极向前看:

hello(?!\s?cat)

但我想知道是否有其他方法可以做到这一点。

最佳答案

还有另一种无需环顾四周的方式,我认为这是一个值得一提的有趣概念:/hello(?:\scat)|(hello\s.*)/

在这种情况下,我们首先匹配我们不想要的东西(但不捕获它)然后如果第一部分失败我们只捕获第二部分,这意味着在捕获中你总是会有一些不包含的东西

你可以在这个例子中查看https://regex101.com/r/bydCGb/3 ,在比赛信息框中,“第 1 组”捕获 - 并检查替换部分 - 我们从来没有猫部分。

根据您的情况,您可以说:如果有捕获组 1,则执行某些操作。

关于regex - 在正则表达式中排除单词的方法(没有先行?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58742174/

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