0

我必须解析一些可能如下所示的字符串:

"some text {{text in double brackets}}{{another text}}..."

如何使用正则表达式从双括号中提取文本作为 C# 中的字符串数组?

4

3 回答 3

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);
}
于 2012-11-20T10:31:50.143 回答
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();
于 2012-11-20T10:36:00.123 回答
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);
}
于 2012-11-20T10:38:39.953 回答