How can I search after occurring a word for example imagine the following string :

```
   The Fisrt Colors 
       red green yellow
       blue white violet
       red green orange
   The Second Colors
       red black white 
       green cyan magenta
       red magenta blue

```

I need to search the lines that contains `red` and they are after `The Second Colors` in the above example the expecting result is : 

```
red black white 
red magenta blue

```

I do the simple search with :

```
        foreach (Match match in Regex.Matches(MyString, @"[\n\r].*red\s*([^\n\r]*)"))
        {

        }

```

but the above code doesn't work in this scenario cuz it returns 

```
    red green yellow
    red green orange
    red black white 
    red magenta blue

```

**Edit 1 :**
As @Jonesopolis comments , What if `The Second Colors` were moved above `The First Colors` . I mean how to limit the results between these two title (For example the `The Second Colors` and `The Third Colors` ?