gpt4 book ai didi

C# 正则表达式匹配,但不写入值

转载 作者:行者123 更新时间:2023-11-30 14:58:41 25 4
gpt4 key购买 nike

我有这样的正则表达式,但它是匹配的,但它没有添加我的值。这是为什么?

Regex regex = new Regex(@"^(?:(?<C0>Lab) (?<C1>\S+) (?<C2>\S+) (?<C3>\S+) (?<C4>\S+) (?<C5>\S+) (?<C6>\S+) (?<C7>.+))$");

这是我的文本示例:

Lab restart int(3) 4332 Range success (Var:4.344-1)

最后我想把我的等等放到我的变量中。我是这样做的。

Param0 = match.Groups["C0"].ToString();
Param1 = match.Groups["C1"].ToString();
Param2 = match.Groups["C2"].ToString();
Param3 = match.Groups["C3"].ToString();
Param4 = match.Groups["C4"].ToString();
Param5 = match.Groups["C5"].ToString();
Param6 = match.Groups["C6"].ToString();
Param7 = match.Groups["C7"].ToString();

Param0Param1 和 rest 仍然是空的。但它们不为空。

最佳答案

原因是你的match.Success = false。输入字符串与正则表达式不匹配。尝试删除最后一组:

Regex regex = new Regex(@"^(?:(?<C0>Lab) (?<C1>\S+) (?<C2>\S+) (?<C3>\S+) (?<C4>\S+) (?<C5>\S+) (?<C6>\S+))$");

Param0 = match.Groups["C0"].ToString();
Param1 = match.Groups["C1"].ToString();
Param2 = match.Groups["C2"].ToString();
Param3 = match.Groups["C3"].ToString();
Param4 = match.Groups["C4"].ToString();
Param5 = match.Groups["C5"].ToString();
Param6 = match.Groups["C6"].ToString();

您应该先使用match.Success 来检查匹配是否成功。

关于C# 正则表达式匹配,但不写入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18206283/

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