用正则表达式替换标签 [[ text ]] 之间的文本的最佳方法是什么?
例如:
this [[is]] my text [[new text]]
因此,我想拥有:
this X my text X
我有类似的东西:
string pattern = @"\[\[(.*)\]\]";
Regex rgx = new Regex(pattern);
string input = "this [[is]] my text [[new text]]";
string pattern = @"\[\[.+?\]\]";
var output = Regex.Replace(input, pattern, "X");
编辑
如果我想遍历每个匹配项怎么办
string pattern = @"\[\[(.+?)\]\]";
var matches = Regex.Matches(input, pattern)
.Cast<Match>()
.Select(m => m.Groups[1].Value)
.ToList();
还是你看起来像那样
string pattern = @"\[\[(.+?)\]\]";
var output = Regex.Replace(input,
pattern,
m=>String.Join("",m.Groups[1].Value.Reverse()));
这将返回:
这是我的文本txet wen
试试这个正则表达式
"\[\[(.[^\]])*\]\]"
并使用
rgx.Replace(yourString, "x");