gpt4 book ai didi

regex - 前瞻行为

转载 作者:行者123 更新时间:2023-12-05 00:59:23 26 4
gpt4 key购买 nike

你怎样才能使前瞻非贪婪?我希望第一个案例不匹配任何内容(如第二个案例),但它返回“winnie”。我猜是因为它在“the”之后贪婪地匹配?

str <- "winnie the pooh bear"

## Unexpected
regmatches(str, gregexpr("winnie|bear(?= bear|pooh)", str, perl=T))
# [1] "winnie"

## Expected
regmatches(str, gregexpr("winnie(?= bear|pooh)", str, perl=T))
# character(0)

最佳答案

前瞻应用于 bearwinnie|bear(?= bear|pooh)而不是 winnie .如果您希望它适用于两种用途

(?:winnie|bear)(?= bear|pooh)

现在它将适用于两者。
因为 winnie匹配 ored part bear从来没有出现过,也没有前瞻。

在第二种情况下 lookahead适用于 winnie .所以它失败了。

关于regex - 前瞻行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30832006/

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