gpt4 book ai didi

c# - 为什么在前瞻后结束线 anchor 不起作用?

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

我使用的是 C#,但我遇到了 Regex 问题。

我有下一个文本:123_456。我只需要捕获 123,同时确保 _456 存在并且所有内容都在一个字符串/行上。

所以,我尝试了下一个模式:^123(?=_456)$ 并发现它不适用于结束线 anchor ,没有它一切都很好:^ 123(?=_456)

最佳答案

必须将 anchor 放入前瞻中:

^123(?=_456$)
^

要确保没有 _ 和字符串末尾的任何数字,请使用

^123(?=_\d+$)

当使用^123(?=_456)$ 123匹配到字符串的开头,那么(?=_456) lookahead 确保(或要求)紧靠当前位置右侧有 _456,然后要匹配字符串的末尾。然而,这两个条件是相互排斥的:您可以在 123 之后同时拥有字符串结尾和 _456

关于c# - 为什么在前瞻后结束线 anchor 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49129910/

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