我有一些正则表达式模式字符串,我想传递给数组(或其他一些集合)中的其他方法。
根据评论,我的初步问题不够明确。这是一个单元测试,可以准确地解释我尝试做什么。
简而言之,我正在尝试用另一个正则表达式模式替换子字符串(基于正则表达式模式)。
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);
问题出在最终输出中,它包含一个双反斜杠(因为这就是替换字符串的样子)。
我希望问题变得更清楚。
我认为我太复杂了。我不熟悉所有Regex功能?