如何在两个已知值之间找到所有字符串?

时间:2012-10-30 20:18:06

标签: c# .net regex

我希望List<string>用于字符串[ ]之间的所有字符串:

 Input = "[first] - [second] > [third] + 5"

所以我想要第一,第二,第三。

2 个答案:

答案 0 :(得分:3)

你可以这样做

List<string> lst=Regex.Matches(input,@"(?<=\[).*?(?=\])")
                      .Cast<Match>()
                      .Select(x=>x.Value)
                      .ToList();

答案 1 :(得分:1)

扩展上一个答案:

 static IEnumerable<string> GetListFromString(string stringToExtract)
    {

        var regex = new Regex(@"(?<=\[).*?(?=\])");
        foreach (Match match in regex.Matches(stringToExtract))
        {
            yield return match.Value;
        }
    }