gpt4 book ai didi

C# 正则表达式。获取第n次出现

转载 作者:行者123 更新时间:2023-11-30 13:16:55 26 4
gpt4 key购买 nike

您好,我正在尝试使用 regx 拆分字符串。我如何获得某个模式的第 n 次出现,以便我可以将它分配给一个字符串?

var myString = "1.2.300.4";
var pattern = new Regex(@"([0-9]+)");

var major = pattern.Occurrence(1); //first occurrence
var minor = pattern.Occurrence(2) //second occurrence
var build = pattern.Occurrence(3) //third occurrence
var revision = pattern.Occurrence(4) // forth occurrence

类似的东西,但在正则表达式中。

有没有办法选择正则表达式模式本身的出现?例如;

var major = new Regex(@"([0-9]+)$1");
var minor = new Regex(@"([0-9]+)$2");
var build = new Regex(@"([0-9]+)$3");
var revision = new Regex(@"([0-9]+)$4");

最佳答案

您可以使用 Match 找到第一个,然后在每个匹配项上使用 NextMatch 找到下一个。

var major = pattern.Match(myString);
var minor = major.NextMatch();
var build = minor.NextMatch();
var revision = build.NextMatch();

如果您不想懒惰地迭代匹配项,您可以使用 Matches 来解析整个字符串,然后通过索引获取匹配项(如果需要):

var allmatches = pattern.Matches(myString);
var major = allmatches[0];
//...

关于C# 正则表达式。获取第n次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19145536/

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