我需要从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"]);
