title: Findall with regular expression in a pandas dataframe returns an incomplete list
body: <p>I am attempting to count and list the occurrences of certain expressions in each row of a pandas dataframe. The count works perfectly, but the list is missing key information. Here is an example of the problem, in the list column of the output:</p>
  <pre><code>import pandas as pd
  
  d = {'text': [&quot;The black dog and black cat. Black.&quot;, &quot;The dog and black cat. Black, brown.&quot;]}
  df = pd.DataFrame(data=d)
  
  df['count'] = df['text'].str.count(r'(?i)black( dog| cat)'\
                                     r'|(?i)black(\.|,)')
  
  df['find'] = df['text'].str.findall(r'(?i)black( dog| cat)'\
                                     r'|(?i)black(\.|,)')
      
  print(df)
  #                                   text  count                         list
  # 0   The black dog and black cat. Black.      3  [( dog, ), ( cat, ), (, .)]
  # 1  The dog and black cat. Black, brown.      2            [( cat, ), (, ,)]
  </code></pre>
  <p>Instead, I would like the list to contain the full expressions, as such:</p>
  <pre><code>#                                   text  count                                  list
  # 0   The black dog and black cat. Black.      3  ['black dog', 'black cat', 'black.']
  # 1  The dog and black cat. Black, brown.      2               ['black cat', 'black,']
  </code></pre>