(self)
| 615 | self.do_test_match_getitem(pat.prefixmatch) |
| 616 | |
| 617 | def test_re_fullmatch(self): |
| 618 | # Issue 16203: Proposal: add re.fullmatch() method. |
| 619 | self.assertEqual(re.fullmatch(r"a", "a").span(), (0, 1)) |
| 620 | for string in "ab", S("ab"): |
| 621 | self.assertEqual(re.fullmatch(r"a|ab", string).span(), (0, 2)) |
| 622 | for string in b"ab", B(b"ab"), bytearray(b"ab"), memoryview(b"ab"): |
| 623 | self.assertEqual(re.fullmatch(br"a|ab", string).span(), (0, 2)) |
| 624 | for a, b in "\xe0\xdf", "\u0430\u0431", "\U0001d49c\U0001d49e": |
| 625 | r = r"%s|%s" % (a, a + b) |
| 626 | self.assertEqual(re.fullmatch(r, a + b).span(), (0, 2)) |
| 627 | self.assertEqual(re.fullmatch(r".*?$", "abc").span(), (0, 3)) |
| 628 | self.assertEqual(re.fullmatch(r".*?", "abc").span(), (0, 3)) |
| 629 | self.assertEqual(re.fullmatch(r"a.*?b", "ab").span(), (0, 2)) |
| 630 | self.assertEqual(re.fullmatch(r"a.*?b", "abb").span(), (0, 3)) |
| 631 | self.assertEqual(re.fullmatch(r"a.*?b", "axxb").span(), (0, 4)) |
| 632 | self.assertIsNone(re.fullmatch(r"a+", "ab")) |
| 633 | self.assertIsNone(re.fullmatch(r"abc$", "abc\n")) |
| 634 | self.assertIsNone(re.fullmatch(r"abc\z", "abc\n")) |
| 635 | self.assertIsNone(re.fullmatch(r"abc\Z", "abc\n")) |
| 636 | self.assertIsNone(re.fullmatch(r"(?m)abc$", "abc\n")) |
| 637 | self.assertEqual(re.fullmatch(r"ab(?=c)cd", "abcd").span(), (0, 4)) |
| 638 | self.assertEqual(re.fullmatch(r"ab(?<=b)cd", "abcd").span(), (0, 4)) |
| 639 | self.assertEqual(re.fullmatch(r"(?=a|ab)ab", "ab").span(), (0, 2)) |
| 640 | |
| 641 | self.assertEqual( |
| 642 | re.compile(r"bc").fullmatch("abcd", pos=1, endpos=3).span(), (1, 3)) |
| 643 | self.assertEqual( |
| 644 | re.compile(r".*?$").fullmatch("abcd", pos=1, endpos=3).span(), (1, 3)) |
| 645 | self.assertEqual( |
| 646 | re.compile(r".*?").fullmatch("abcd", pos=1, endpos=3).span(), (1, 3)) |
| 647 | |
| 648 | def test_re_groupref_exists(self): |
| 649 | self.assertEqual(re.match(r'^(\()?([^()]+)(?(1)\))$', '(a)').groups(), |
nothing calls this directly
no test coverage detected