title: Combination of starts with and contains
body: <p>I am trying to create a search in my app. I had originally used <code>.Contains</code> but then realized that if I user entered, say, "s" it would return anything that had an "s" in it. So then I switched to <code>.StartsWith</code> but then the problem is that if I have "Bottle of Water" and search for "Water" it won't show. Is there a way I could write a regex that would get "Bottle of water" if I typed any of the following: "Bottle", "Bottle of", "of water", "water" "Bottle of water", "of"?</p>
  
  <p>I had thought of perhaps doing an initial search with starts with, then splitting the string and searching it and merging those to and using <code>.Distinct</code> to get unique records,  but I think if I can use a regex that'd be much better.</p>
  
  <p>Edit:
  This is the code I have right now</p>
  
  <pre><code>`if (txtSearch.Text != string.Empty)
                      {
                          if (txtSearch.Text.Trim().Length != 0)
                          {
                              dataSource = dataSource.Where(p =&gt; p.Name.ToLower().StartsWith(txtSearch.Text.ToLower().Trim())).ToList();
                          }
                      }`
  </code></pre>