title: How can I debug a regular expression in Python?
body: <p>Is there a way to debug a regular expression in Python? And I'm not referring to the process of trying and trying till they work :)</p>
  
  <p>Here is how regexes can be debugged in Perl:</p>
  
  <pre><code>
  use re 'debug';
  
  my $str = "GET http://some-site.com HTTP/1.1";
  if($str =~/get\s+(\S+)/i) {
      print "MATCH:$1\n";
  }
  </code></pre>
  
  <p>The code above produces the following output on my computer when ran:</p>
  
  <pre><code>
  Compiling REx "get\s+(\S+)"
  Final program:
     1: EXACTF  (3)
     3: PLUS (5)
     4:   SPACE (0)
     5: OPEN1 (7)
     7:   PLUS (9)
     8:     NSPACE (0)
     9: CLOSE1 (11)
    11: END (0)
  stclass EXACTF  minlen 5
  Matching REx "get\s+(\S+)" against "GET http://some-site.com HTTP/1.1"
  Matching stclass EXACTF  against "GET http://some-site.com HTTP/1.1" (33 chars)
     0           |  1:EXACTF (3)
     3        |  3:PLUS(5)
                                    SPACE can match 1 times out of 2147483647...
     4       |  5:  OPEN1(7)
     4       |  7:  PLUS(9)
                                      NSPACE can match 20 times out of 2147483647...
    24       |  9:    CLOSE1(11)
    24       | 11:    END(0)
  Match successful!
  MATCH:http://some-site.com
  Freeing REx: "get\s+(\S+)"
  
  </code></pre>