gpt4 book ai didi

c# - 非固定长度回顾

转载 作者:行者123 更新时间:2023-11-30 15:57:47 25 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来匹配空字符串,前面是元音和 ck ,或元音和任何其他辅音(来自 CodeGolf 的挑战)。到目前为止,我想出了 (?<=[aeiou](?:ck|[^aeiou])) .问题在于它在 ck 之后不匹配。与 [^aeiou]那里。它总是在 c 之后匹配例如,nickel : nic-kel .为什么会这样?

最佳答案

我觉得你需要

(?<=[aeiou](?:(?!ck)[a-zA-Z-[aeiou]]|ck))

参见 regex demo .

Lookbehind 是一种非消耗性模式 - 未锚定 - 在字符串中的每个位置尝试。由于您允许匹配以元音和除元音以外的任何字符开头的位置,您将获得 ck 以及 ke

如果你想允许匹配元音后跟任何辅音的位置,但在有 ck clustet 时不匹配,则用 (?!ck) 否定前瞻,(?!ck)。辅音必须与 [a-zA-Z-[aeiouAEIOU]] 匹配。匹配任何 ASCII 字母,但 aeiou (不区分大小写)。

关于c# - 非固定长度回顾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44594204/

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