我有一些正则表达式模式字符串,我想将它们传递给数组(或其他集合)中的其他方法。
根据评论,我最初的问题还不够清楚。这是一个单元测试,它准确地解释了我尝试做的事情。
简而言之,我正在尝试用另一个正则表达式模式替换子字符串(基于正则表达式模式)。
var mainPattern = @"\{[\w]*\}";
string replacePattern = @"\d{4}";
var patternArray = new string[] { replacePattern };
// patternArray[0] == "\\d{4}"
string input = "fd/{ddf}/dfdf";
string expected = @"fd/\d{4}/dfdf";
var match = Regex.Match(input, mainPattern);
// match.Value == "{ddf}"
var output = Regex.Replace(input, match.Value, patternArray[0]);
// output == "fd/\\d{4}/dfdf"
Assert.AreEqual(expected, output);
问题出在包含双反斜杠的最终输出中(因为这就是替换字符串的样子)。
我希望问题变得更清楚。
我觉得我太复杂了。我不熟悉所有正则表达式功能?