gpt4 book ai didi

c# - 使用正则表达式解析多个XML标签

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:12 25 4
gpt4 key购买 nike

我需要从am XML解析一些标签(它们的值)。这必须由正则表达式完成(不要问我为什么:))

例如:

 <name>AAA</name>
<id>1234</id>
<gender>M</gender>


我知道使用正则表达式每个标签所需的模式

string name =  "(?<=<name>).+?(?=</name>)";
string id = "(?<=<id>).+?(?=</id>)";
string gender = "(?<=<gender>).+?(?=</gender>)";


我只是不知道如何初始化 Regex对象来处理所有这些对象。

我可以:

private static readonly Regex rgx1 = new Regex(name);
private static readonly Regex rgx2 = new Regex(id);
private static readonly Regex rgx3r = new Regex(gender);


但我猜这是一个可怕的浪费。

所以我的问题是:如何初始化单个 Regex以处理多种模式?

一旦完成,如何从中提取值?

附言:如果有人需要我在用C#编程。

10倍!

最佳答案

您可以尝试以下方法:

  string input = @" <name>AAA</name>
<id>1234</id>
<gender>M</gender>";
string pattern = @"<name>(?<name>.+)</name>
<id>(?<id>.+)</id>
<gender>(?<gender>.+)</gender>";
Match m = Regex.Match(input, pattern);
Console.WriteLine(m.Groups["name"]);
Console.WriteLine(m.Groups["id"]);
Console.WriteLine(m.Groups["gender"]);

关于c# - 使用正则表达式解析多个XML标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110296/

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