gpt4 book ai didi

c# - 如何从 .NET RegEx 中提取子字符串?

转载 作者:IT王子 更新时间:2023-10-29 04:06:07 26 4
gpt4 key购买 nike

我有一个包含一个(或多个)键/值对的 XML 文件。对于这些对中的每一对,我想提取一个两字节十六进制值的值。

所以 XML 包含这个片段:

<key>LibID</key><val>A67A</val>

我可以使用以下表达式进行匹配,ID 放在括号中。

Match match = Regex.Match(content, @"<key>LibID</key><val>([a-fA-F0-9]{4})</val>");

if (match.Success)
{
Console.WriteLine("Found Match for {0}\n", match.Value);
Console.WriteLine("ID was {0}\n", "Help me SO!");
}

我如何更改最后一部分以便它从匹配中返回 ID?

干杯!

最佳答案

我觉得你想要

match.Groups[1].Value

(正如 Dillie-O 在评论中指出的那样,它是第 1 组,因为第 0 组始终是整场比赛。)

简短但完整的测试程序:

using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
Regex regex = new Regex("<key>LibID</key><val>([a-fA-F0-9]{4})</val>");
Match match = regex.Match("Before<key>LibID</key><val>A67A</val>After");

if (match.Success)
{
Console.WriteLine("Found Match for {0}", match.Value);
Console.WriteLine("ID was {0}", match.Groups[1].Value);
}
}
}

输出:

Found Match for <key>LibID</key><val>A67A</val>
ID was A67A

关于c# - 如何从 .NET RegEx 中提取子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/738543/

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