正则表达式搜索/替换模式有什么作用?

时间:2011-10-11 08:13:24

标签: c# regex

<matcher>?()正则表达式在搜索替换的上下文中使用了什么?

string input = "z=""(?<matcher>([a-z]{3,15}))"""
string pattern = z="cat"
string replacement = @"<ANIMAL>${matcher}</ANIMAL>";
string formattedOutput = Regex.Replace(input, pattern, replacement);

表达式评估后,formattedOutput将为“cat”。

1 个答案:

答案 0 :(得分:2)

你有很多错误......

以下是更正:

        string pattern = @"z=\""(?<matcher>([a-z]{3,15}))\""";
        string input = @"z=""cat""";
        string replacement = @"<ANIMAL>${matcher}</ANIMAL>";
        string formattedOutput = Regex.Replace(input, pattern, replacement);

        Console.WriteLine(formattedOutput);

?<matcher>只是一个命名组。你可以选择任何名字。例如,以下内容是等效的:

        string pattern = @"z=\""(?<WHATEVER>([a-z]{3,15}))\""";
        string input = @"z=""cat""";
        string replacement = @"<ANIMAL>${WHATEVER}</ANIMAL>";
        string formattedOutput = Regex.Replace(input, pattern, replacement);

        Console.WriteLine(formattedOutput);