title: List comprehension with regex
body: <p>I am learning from Jacob Perkins's book.I do not understand this example</p>
  
  <pre><code>import re
  replacement_patterns = [
  (r'won\'t', 'will not'),
  (r'can\'t', 'cannot'),
  (r'i\'m', 'i am'),
  (r'ain\'t', 'is not'),
  (r'(\w+)\'ll', '\g&lt;1&gt; will'),
  (r'(\w+)n\'t', '\g&lt;1&gt; not'),
  (r'(\w+)\'ve', '\g&lt;1&gt; have'),
  (r'(\w+)\'s', '\g&lt;1&gt; is'),
  (r'(\w+)\'re', '\g&lt;1&gt; are'),
  (r'(\w+)\'d', '\g&lt;1&gt; would')
  ]
  </code></pre>
  
  <p>Now we have</p>
  
  <pre><code>class RegexpReplacer(object):
      def __init__(self, patterns=replacement_patterns):
          self.patterns = [(re.compile(regex), repl) for (regex, repl) in patterns]
  </code></pre>
  
  <p>What does this list comprehension serve for?What does repl stands for?</p>