c# - 查找两个字符串之间的所有子字符串

标签 c# regex

我需要从字符串中获取所有子字符串。
例如:

StringParser.GetSubstrings("[start]aaaaaa[end] wwwww [start]cccccc[end]", "[start]", "[end]");

返回 2 个字符串“aaaaaa”和“cccccc” 假设我们只有一层嵌套。 不确定正则表达式,但我认为它会很有用。

最佳答案

private IEnumerable<string> GetSubStrings(string input, string start, string end)
{
    Regex r = new Regex(Regex.Escape(start) + "(.*?)" + Regex.Escape(end));
    MatchCollection matches = r.Matches(input);
    foreach (Match match in matches)
        yield return match.Groups[1].Value;
}

关于c# - 查找两个字符串之间的所有子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2548372/

相关文章:

c# - 多行正则表达式不匹配

C# 多个组合框并显示它们的值

c# - HttpBrowserCapabilities缺少一些信息?

c# - WPF 中的数据网格绑定(bind)

c# - 响应式扩展 - 中止/取消 OnCompleted

javascript - 正则表达式通配符问题

regex - msys2中的regex.h(Windows)

c# - 组合框 SelectedIndex MVVM WPF

java - 如何在 Eclipse 正则表达式搜索中首先匹配检查前驱?

java - 如何使用 Java 正则表达式解析骰子符号?