title: Extract unique exact string matches on data frame column
body: <p>Say I have (tiny subset of data with many columns)</p>
  
  <pre><code>import pandas as pd
  import numpy as np
  df = pd.DataFrame({'A (quarterly) 2010': np.random.rand(3),
                     'A (quarterly) 2011': np.random.rand(3),
                     'B (quarterly) 2010': np.random.rand(3),
                     'B (quarterly) 2011': np.random.rand(3),
                     'X' : np.random.randint(3, size=3)})
  
  #Out[11]:
  #   A (quarterly) 2010  A (quarterly) 2011  B (quarterly) 2010  \
  #0            0.868228            0.300513            0.658819
  #1            0.383907            0.496740            0.347421
  #2            0.284787            0.795499            0.856398
  
  #   B (quarterly) 2011  X
  #0            0.374479  1
  #1            0.812860  0
  #2            0.604731  2
  </code></pre>
  
  <p>I want to extract the unique matches in the column names that matches a specific pattern, f.ex <code>[A-B] \(.*\)\s</code>.</p>
  
  <p>I can do it, but it is looks very hairy:</p>
  
  <pre><code>stubs = set([match[0] for match in df.columns.str.findall('[A-B] \(.*\) ').values if match != [] ])
  
  list(stubs)
  #['B (quarterly) ', 'A (quarterly) ']
  </code></pre>
  
  <p>Is there a simpler way to do this?</p>