Nailed a couple of memory leaks, caught by Purify.
diff --git a/Modules/regexmodule.c b/Modules/regexmodule.c
index 981a6e9..695c2d2 100644
--- a/Modules/regexmodule.c
+++ b/Modules/regexmodule.c
@@ -518,6 +518,8 @@
 					    Py_XDECREF(npattern);
 					    return NULL;
 				    }
+				    Py_DECREF(group_name);
+				    Py_DECREF(group_index);
 				    ++o;     /* eat the '>' */
 				    break;
 				}
@@ -573,6 +575,7 @@
 	PyObject *tran = NULL;
 	PyObject *gdict = NULL;
 	PyObject *npattern;
+	PyObject *retval = NULL;
 
 	if (!PyArg_ParseTuple(args, "S|S", &pattern, &tran))
 		return NULL;
@@ -583,7 +586,9 @@
 		Py_DECREF(pattern);
 		return NULL;
 	}
-	return newregexobject(npattern, tran, pattern, gdict);
+	retval = newregexobject(npattern, tran, pattern, gdict);
+	Py_DECREF(npattern);
+	return retval;
 }