gpt4 book ai didi

regex - 匹配重复 3 次或更多次

转载 作者:行者123 更新时间:2023-12-02 14:52:24 24 4
gpt4 key购买 nike

这是一个测验练习

我想知道文本中是否包含4 个字符或更多 的单词,这些单词在文本中(文本中的任何位置)重复 3 次或更多次。如果是这样,请为每个单词设置一个(且仅一个)反向引用。

我试过代码

(?=\b(\w{4,}+)\b.*\1)

结果返回

Test 10/39: Not working, sorry. Read the task description again. It matches notword word word

尝试过

(?=(\b\w{4,}\b)(?:.*\b\1\b){2,})

Test 22/39: If a certain word is repeated many times, you're setting more than 1 backreference (common mistake, I know). You don't necessarily need to match the first occurrence of the word. Can you avoid a match in >word< word word word, and match word >word< word word? (Hint: match if it's followed by 2 occurences, don't match if it's followed by 3)

正则表达式 demo

最佳答案

如果我正确理解你的问题,这应该可以满足你的要求:

(?=(\b\w{4,}\b)(?:.*\b\1\b){2})(?!(\b\w{4,}\b)(?:.*\b\1\b){3})

它与您的正则表达式本质上相同,寻找一个重复的 4 个字符的单词,但它会寻找 2 次额外出现(因此出现 3 次)。匹配的词将在第 1 组中捕获。正则表达式包含 3 次重复的否定前瞻,因此如果出现 4 次或更多次,它不会匹配同一个词两次。

Demo on regex101

关于regex - 匹配重复 3 次或更多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54968833/

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