From: Andrew M. Kuchling Date: Thu, 2 Jun 2005 13:38:45 +0000 (+0000) Subject: [Bug #1177831] Exercise (?(id)yes|no) for a group other than the first one X-Git-Tag: v2.5a0~1759 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3554cad009c84889ee0397a77a69ab30307b57ae;p=thirdparty%2FPython%2Fcpython.git [Bug #1177831] Exercise (?(id)yes|no) for a group other than the first one --- diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py index 07bc63b277a7..c86f502c50d4 100644 --- a/Lib/test/test_re.py +++ b/Lib/test/test_re.py @@ -235,6 +235,16 @@ class ReTests(unittest.TestCase): self.assertEqual(re.match('^(?:(a)|c)((?(1)|d))$', 'a').groups(), ('a', '')) + # Tests for bug #1177831: exercise groups other than the first group + p = re.compile('(?Pa)(?Pb)?((?(g2)c|d))') + self.assertEqual(p.match('abc').groups(), + ('a', 'b', 'c')) + self.assertEqual(p.match('ad').groups(), + ('a', None, 'd')) + self.assertEqual(p.match('abd'), None) + self.assertEqual(p.match('ac'), None) + + def test_re_groupref(self): self.assertEqual(re.match(r'^(\|)?([^()]+)\1$', '|a|').groups(), ('|', 'a'))