我必须解析一些字符串,如下所示:
"some text {{text in double brackets}}{{another text}}..."
如何使用正则表达式在C#中将双括号中的文本作为字符串数组提取?
答案 0 :(得分:3)
使用此字符串
@"\{\{([^}]*)\}\}"
为您的正则表达式
var inputText = "some text {{text in double brackets}}{{another text}}...";
Regex re = new Regex(@"\{\{([^}]*)\}\}");
foreach (Match m in re.Matches(inputText))
{
Console.WriteLine(m.Value);
}
答案 1 :(得分:3)
string input = @"some text {{text in double brackets}}{{another text}}...";
var matches = Regex.Matches(input, @"\{\{(.+?)\}\}")
.Cast<Match>()
.Select(m => m.Groups[1].Value)
.ToList();
答案 2 :(得分:1)
要从括号内获取实际文本,请使用命名组
var r = new Regex(@"{{(?<inner>.*?)}}", RegexOptions.Multiline);
foreach(Match m in r.Matches("some text {{text in double brackets}}{{another text}}..."))
{
Console.WriteLine(m.Groups["inner"].Value);
}