gpt4 book ai didi

python - 正则表达式中的贪心 "or"组是否存在?

转载 作者:太空狗 更新时间:2023-10-29 22:23:26 28 4
gpt4 key购买 nike

我有一个自动生成的正则表达式,它基本上是一个大的“或”组,如下所示:

(\bthe\b|\bcat\b|\bin\b|\bhat\.\b|\bhat\b)

我注意到在这种情况下

hat.

它只会匹配“hat”,而不匹配“hat”。如我所愿。有没有办法让它更贪心?

更新:忘记了单词边界,对此感到抱歉。

最佳答案

在正则表达式中将 hat\. 放在 hat 之前。交替中的第一个匹配表达式获胜。 hathat. 匹配,因此永远不会检查 hat\.

更好的方法是将该部分写为 hat\.? 而不是 hat\.|hat。这使得句号成为可选的,因此您不需要交替使用两个术语。

编辑后:

. 和空格之间没有单词边界(两者都是非单词字符)。所以 \bhat\.\b 只会匹配 hat.x 之类的东西,其中另一个字母紧跟句号。这意味着,例如一个句子,hat 将被匹配。不过,我看到您找到了解决方案。

关于python - 正则表达式中的贪心 "or"组是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10068509/

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