gpt4 book ai didi

C# - 是否可以检查哪个可选正则表达式组匹配?

转载 作者:行者123 更新时间:2023-12-02 15:45:32 25 4
gpt4 key购买 nike

我编写了一个简单的正则表达式来接受本地文件路径( C:\some\path\to\file )和网络位置( \\0.0.0.0\some\path\to\file )。我已捕获C:\\\0.0.0.0\在单独的命名组中,<drive><netloc>相应地。

在 C# 中是否可以在找到“全局”匹配后检查匹配哪个组?我想设置标志给定的目录是本地目录还是网络目录。为了分隔我的组,我使用 |性格。

我发现了类似的问题,但它们不涵盖 C#,并且当然不容易“转移”。

最佳答案

是的,Groups 也有一个 Success 属性。

Regex rx=new Regex(@"^((?<drive>[a-z]:\\.*)|(?<netloc>\\\\[^\\]+\\.*))$",
RegexOptions.IgnoreCase|RegexOptions.CultureInvariant|RegexOptions.ExplicitCapture);
Match match = rx.Match(somePath);
if (match.Groups["drive"].Success) {
// drive match
} else if (match.Groups["netloc"].Success) {
// netloc match
} else {
// none of these groups matched
}

See MSDN for more info.

关于C# - 是否可以检查哪个可选正则表达式组匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34063625/

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