gpt4 book ai didi

c# - 为什么这个没有特殊字符的正则表达式匹配更长的字符串?

转载 作者:行者123 更新时间:2023-11-30 18:54:31 24 4
gpt4 key购买 nike

我正在使用这种方法来尝试找到一个匹配项,例如:

Regex.Match("A2-TS-OIL", "TS-OIL", RegexOptions.IgnoreCase).Success;

我得到了一个真实的结果。我很困惑。我认为这应该返回 false,因为模式中没有特殊字符。如果我使用 ".+TS-OIL",则应返回 true(. 表示任何,+ 表示超过 1 个)。我应该怎么做才能得到我需要的东西?

最佳答案

正则表达式匹配不必从输入的开头开始。你可能想要:

^TS-OIL

如果你只想在开始时匹配。或者:

^TS-OIL$

防止匹配TS-OIL-123。

^ 匹配输入的开头,$ 匹配结尾。

我相信在某些地方会自动添加 ^$(例如网络验证控件),但它们是异常(exception)。

顺便说一句,你可以使用:

Regex.IsMatch(...)

在这种情况下可以节省几次击键。

关于c# - 为什么这个没有特殊字符的正则表达式匹配更长的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/521408/

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