diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index 7a25dbe..d2cc0c3 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -448,7 +448,7 @@
         self.assertEqual(re.match("a.*b", "a\n\nb", re.DOTALL).group(0),
                          "a\n\nb")
 
-    def test_non_consuming(self):
+    def test_lookahead(self):
         self.assertEqual(re.match("(a(?=\s[^a]))", "a b").group(1), "a")
         self.assertEqual(re.match("(a(?=\s[^a]*))", "a b").group(1), "a")
         self.assertEqual(re.match("(a(?=\s[abc]))", "a b").group(1), "a")
@@ -462,6 +462,42 @@
         self.assertEqual(re.match(r"(a)(?!\s\1)", "a b").group(1), "a")
         self.assertEqual(re.match(r"(a)(?!\s(abc|a))", "a b").group(1), "a")
 
+        # Group reference.
+        self.assertTrue(re.match(r'(a)b(?=\1)a', 'aba'))
+        self.assertIsNone(re.match(r'(a)b(?=\1)c', 'abac'))
+        # Conditional group reference.
+        self.assertTrue(re.match('(?:(a)|(x))b(?=(?(2)x|c))c', 'abc'))
+        self.assertIsNone(re.match('(?:(a)|(x))b(?=(?(2)c|x))c', 'abc'))
+        self.assertTrue(re.match('(?:(a)|(x))b(?=(?(2)x|c))c', 'abc'))
+        self.assertIsNone(re.match('(?:(a)|(x))b(?=(?(1)b|x))c', 'abc'))
+        self.assertTrue(re.match('(?:(a)|(x))b(?=(?(1)c|x))c', 'abc'))
+        # Group used before defined.
+        self.assertTrue(re.match('(a)b(?=(?(2)x|c))(c)', 'abc'))
+        self.assertIsNone(re.match('(a)b(?=(?(2)b|x))(c)', 'abc'))
+        self.assertTrue(re.match('(a)b(?=(?(1)c|x))(c)', 'abc'))
+
+    def test_lookbehind(self):
+        self.assertTrue(re.match('ab(?<=b)c', 'abc'))
+        self.assertIsNone(re.match('ab(?<=c)c', 'abc'))
+        self.assertIsNone(re.match('ab(?<!b)c', 'abc'))
+        self.assertTrue(re.match('ab(?<!c)c', 'abc'))
+        # Group reference.
+        self.assertTrue(re.match(r'(a)a(?<=\1)c', 'aac'))
+        self.assertIsNone(re.match(r'(a)b(?<=\1)a', 'abaa'))
+        self.assertIsNone(re.match(r'(a)a(?<!\1)c', 'aac'))
+        self.assertTrue(re.match(r'(a)b(?<!\1)a', 'abaa'))
+        # Conditional group reference.
+        self.assertIsNone(re.match('(?:(a)|(x))b(?<=(?(2)x|c))c', 'abc'))
+        self.assertIsNone(re.match('(?:(a)|(x))b(?<=(?(2)b|x))c', 'abc'))
+        self.assertTrue(re.match('(?:(a)|(x))b(?<=(?(2)x|b))c', 'abc'))
+        self.assertIsNone(re.match('(?:(a)|(x))b(?<=(?(1)c|x))c', 'abc'))
+        self.assertTrue(re.match('(?:(a)|(x))b(?<=(?(1)b|x))c', 'abc'))
+        # Group used before defined.
+        self.assertIsNone(re.match('(a)b(?<=(?(2)x|c))(c)', 'abc'))
+        self.assertIsNone(re.match('(a)b(?<=(?(2)b|x))(c)', 'abc'))
+        self.assertIsNone(re.match('(a)b(?<=(?(1)c|x))(c)', 'abc'))
+        self.assertTrue(re.match('(a)b(?<=(?(1)b|x))(c)', 'abc'))
+
     def test_ignore_case(self):
         self.assertEqual(re.match("abc", "ABC", re.I).group(0), "ABC")
         self.assertEqual(re.match("abc", u"ABC", re.I).group(0), "ABC")
