title: How to search for multiple multi-word phrases in pandas?
body: <p>I have some JSON data converted into a Pandas DataFrame. I am looking to find all columns whose string content matches a list of multi word phrases. </p>
  
  <p>I am working with a massive amount of Twitter JSON data <a href="https://archive.org/details/twitterstream" rel="nofollow noreferrer">already downloaded for public use</a> (so Twitter API usage is not applicable). This JSON is converted into a Pandas DataFrame. One of the columns available is, <code>text</code> which the body of the tweet. An example is</p>
  
  <pre><code>We’re kicking off the first portion of a citywide traffic calming project to make residential streets more safe &amp; pedestrian-friendly, next week!
  
  Tuesday, July 30 at 10:30 AM
  Nautilus Drive and 42 Street 
  </code></pre>
  
  <p>I want to be able to have a list of phrases, <code>phrases = ["We're kicking off", "we're starting", "we're initiating"]</code> and do something like <code>pd[pd['text'].str.contains(phrases)]]</code> to ensure that I can obtain pandas DataFrame rows whose <code>text</code> column contains one of the phrases. </p>
  
  <p>This is perhaps asking too much, but ideally I would also be able to match something like  <code>phrases = ["(We're| we are) kicking off", "(we're | we are) starting", "(we're| we are) initiating"]</code></p>