将变量传递给正则表达式?

时间:2016-07-04 22:12:35

标签: c# regex replace

我有正则表达式

  \d{2}.*?word

我需要更改

  \d{i}.*?word

并增加“i”

i++

var regex = new Regex(Regex.Escape("o"));
var newText = regex.Replace("textstring43288482383483833638.....word", "\d{i}.*?word", 1); 
var regex = new Regex(Regex.Escape("o"));
var newText = regex.Replace("textstring43288482383483833638.....word", "\d{2}.*?word", 1); 

var regex = new Regex(Regex.Escape("o"));
var newText = regex.Replace("textstring43288482383483833638.....word", "\d{3}.*?word", 1); 

然后停在最后一场比赛。

请帮我解决这个问题

1 个答案:

答案 0 :(得分:2)

你能否使用String interpolation?应该通过为包含正则表达式的字符串添加$前缀来工作。

regex.Replace("textstring43288482383483833638.....word", $"\d{i}.*?word", 1);

如果i已经在当前范围内,那么对我来说应该有用。