Lines Matching refs:match
79 self.assertEqual(re.match('a*', 'xxx').span(0), (0, 0))
80 self.assertEqual(re.match('a*', 'xxx').span(), (0, 0))
81 self.assertEqual(re.match('x*', 'xxxa').span(0), (0, 3))
82 self.assertEqual(re.match('x*', 'xxxa').span(), (0, 3))
83 self.assertIsNone(re.match('a+', 'xxx'))
150 self.assertRaises(ValueError, re.match, pattern, 'A', re.I)
252 self.assertEqual(re.match(pat, 'xc8yz').span(), (0, 5))
389 self.assertEqual(re.match('a', string).groups(), ())
390 self.assertEqual(re.match('(a)', string).groups(), ('a',))
391 self.assertEqual(re.match('(a)', string).group(0), 'a')
392 self.assertEqual(re.match('(a)', string).group(1), 'a')
393 self.assertEqual(re.match('(a)', string).group(1, 1), ('a', 'a'))
395 self.assertEqual(re.match(b'a', string).groups(), ())
396 self.assertEqual(re.match(b'(a)', string).groups(), (b'a',))
397 self.assertEqual(re.match(b'(a)', string).group(0), b'a')
398 self.assertEqual(re.match(b'(a)', string).group(1), b'a')
399 self.assertEqual(re.match(b'(a)', string).group(1, 1), (b'a', b'a'))
401 self.assertEqual(re.match(a, a).groups(), ())
402 self.assertEqual(re.match('(%s)' % a, a).groups(), (a,))
403 self.assertEqual(re.match('(%s)' % a, a).group(0), a)
404 self.assertEqual(re.match('(%s)' % a, a).group(1), a)
405 self.assertEqual(re.match('(%s)' % a, a).group(1, 1), (a, a))
408 self.assertEqual(pat.match('a').groups(), ('a', 'a', None, None))
409 self.assertEqual(pat.match('b').groups(), ('b', None, 'b', None))
410 self.assertEqual(pat.match('ac').groups(), ('a', 'a', None, 'c'))
411 self.assertEqual(pat.match('bc').groups(), ('b', None, 'b', 'c'))
412 self.assertEqual(pat.match('bc').groups(""), ('b', "", 'b', 'c'))
415 self.assertEqual(pat.match('a').group(1, 2, 3), ('a', None, None))
416 self.assertEqual(pat.match('b').group('a1', 'b2', 'c3'),
418 self.assertEqual(pat.match('ac').group(1, 'b2', 3), ('a', None, 'c'))
427 m = re.match('(a)(b)', 'ab')
444 m = pat.match('a')
468 m = pat.match('ac')
516 self.assertEqual(re.match(r'^(\()?([^()]+)(?(1)\))$', '(a)').groups(),
518 self.assertEqual(re.match(r'^(\()?([^()]+)(?(1)\))$', 'a').groups(),
520 self.assertIsNone(re.match(r'^(\()?([^()]+)(?(1)\))$', 'a)'))
521 self.assertIsNone(re.match(r'^(\()?([^()]+)(?(1)\))$', '(a'))
522 self.assertEqual(re.match('^(?:(a)|c)((?(1)b|d))$', 'ab').groups(),
524 self.assertEqual(re.match(r'^(?:(a)|c)((?(1)b|d))$', 'cd').groups(),
526 self.assertEqual(re.match(r'^(?:(a)|c)((?(1)|d))$', 'cd').groups(),
528 self.assertEqual(re.match(r'^(?:(a)|c)((?(1)|d))$', 'a').groups(),
533 self.assertEqual(p.match('abc').groups(),
535 self.assertEqual(p.match('ad').groups(),
537 self.assertIsNone(p.match('abd'))
538 self.assertIsNone(p.match('ac'))
543 self.assertEqual(re.match(pat, 'xc8yz').span(), (0, 5))
560 self.assertEqual(re.match(r'^(\|)?([^()]+)\1$', '|a|').groups(),
562 self.assertEqual(re.match(r'^(\|)?([^()]+)\1?$', 'a').groups(),
564 self.assertIsNone(re.match(r'^(\|)?([^()]+)\1$', 'a|'))
565 self.assertIsNone(re.match(r'^(\|)?([^()]+)\1$', '|a'))
566 self.assertEqual(re.match(r'^(?:(a)|c)(\1)$', 'aa').groups(),
568 self.assertEqual(re.match(r'^(?:(a)|c)(\1)?$', 'c').groups(),
574 self.assertEqual(re.match('(?P<first>first) (?P<second>second)',
579 self.assertEqual(re.match("(?P<first>first) (?P<second>second)",
583 self.assertEqual(re.match("(?P<first>first)|(?P<second>second)",
589 self.assertIsNone(re.match(r"^(\w){1}$", "abc"))
590 self.assertIsNone(re.match(r"^(\w){1}?$", "abc"))
591 self.assertIsNone(re.match(r"^(\w){1,2}$", "abc"))
592 self.assertIsNone(re.match(r"^(\w){1,2}?$", "abc"))
594 self.assertEqual(re.match(r"^(\w){3}$", "abc").group(1), "c")
595 self.assertEqual(re.match(r"^(\w){1,3}$", "abc").group(1), "c")
596 self.assertEqual(re.match(r"^(\w){1,4}$", "abc").group(1), "c")
597 self.assertEqual(re.match(r"^(\w){3,4}?$", "abc").group(1), "c")
598 self.assertEqual(re.match(r"^(\w){3}?$", "abc").group(1), "c")
599 self.assertEqual(re.match(r"^(\w){1,3}?$", "abc").group(1), "c")
600 self.assertEqual(re.match(r"^(\w){1,4}?$", "abc").group(1), "c")
601 self.assertEqual(re.match(r"^(\w){3,4}?$", "abc").group(1), "c")
603 self.assertIsNone(re.match(r"^x{1}$", "xxx"))
604 self.assertIsNone(re.match(r"^x{1}?$", "xxx"))
605 self.assertIsNone(re.match(r"^x{1,2}$", "xxx"))
606 self.assertIsNone(re.match(r"^x{1,2}?$", "xxx"))
608 self.assertTrue(re.match(r"^x{3}$", "xxx"))
609 self.assertTrue(re.match(r"^x{1,3}$", "xxx"))
610 self.assertTrue(re.match(r"^x{3,3}$", "xxx"))
611 self.assertTrue(re.match(r"^x{1,4}$", "xxx"))
612 self.assertTrue(re.match(r"^x{3,4}?$", "xxx"))
613 self.assertTrue(re.match(r"^x{3}?$", "xxx"))
614 self.assertTrue(re.match(r"^x{1,3}?$", "xxx"))
615 self.assertTrue(re.match(r"^x{1,4}?$", "xxx"))
616 self.assertTrue(re.match(r"^x{3,4}?$", "xxx"))
618 self.assertIsNone(re.match(r"^x{}$", "xxx"))
619 self.assertTrue(re.match(r"^x{}$", "x{}"))
632 self.assertEqual(re.match("(a)", "a").pos, 0)
633 self.assertEqual(re.match("(a)", "a").endpos, 1)
634 self.assertEqual(re.match("(a)", "a").string, "a")
635 self.assertEqual(re.match("(a)", "a").regs, ((0, 1), (0, 1)))
636 self.assertTrue(re.match("(a)", "a").re)
680 self.assertEqual(re.match(r"\(", '(').group(), '(')
681 self.assertIsNone(re.match(r"\(", ')'))
682 self.assertEqual(re.match(r"\\", '\\').group(), '\\')
683 self.assertEqual(re.match(r"[\]]", ']').group(), ']')
684 self.assertIsNone(re.match(r"[\]]", '['))
685 self.assertEqual(re.match(r"[a\-c]", '-').group(), '-')
686 self.assertIsNone(re.match(r"[a\-c]", 'b'))
687 self.assertEqual(re.match(r"[\^a]+", 'a^').group(), 'a^')
688 self.assertIsNone(re.match(r"[\^a]+", 'b'))
702 self.assertTrue(re.match(r"\b", "abc"))
706 self.assertFalse(re.match(r"\B", "abc"))
724 self.assertEqual(re.match("([\u2222\u2223])",
727 self.assertEqual(re.match(r, "\uff01").group(), "\uff01")
732 self.assertTrue(r.match('1000'))
733 self.assertTrue(r.match('9999'))
736 self.assertEqual(re.match("a.b", "a\nb", re.DOTALL).group(0),
738 self.assertEqual(re.match("a.*b", "a\n\nb", re.DOTALL).group(0),
742 self.assertEqual(re.match(r"(a(?=\s[^a]))", "a b").group(1), "a")
743 self.assertEqual(re.match(r"(a(?=\s[^a]*))", "a b").group(1), "a")
744 self.assertEqual(re.match(r"(a(?=\s[abc]))", "a b").group(1), "a")
745 self.assertEqual(re.match(r"(a(?=\s[abc]*))", "a bc").group(1), "a")
746 self.assertEqual(re.match(r"(a)(?=\s\1)", "a a").group(1), "a")
747 self.assertEqual(re.match(r"(a)(?=\s\1*)", "a aa").group(1), "a")
748 self.assertEqual(re.match(r"(a)(?=\s(abc|a))", "a a").group(1), "a")
750 self.assertEqual(re.match(r"(a(?!\s[^a]))", "a a").group(1), "a")
751 self.assertEqual(re.match(r"(a(?!\s[abc]))", "a d").group(1), "a")
752 self.assertEqual(re.match(r"(a)(?!\s\1)", "a b").group(1), "a")
753 self.assertEqual(re.match(r"(a)(?!\s(abc|a))", "a b").group(1), "a")
756 self.assertTrue(re.match(r'(a)b(?=\1)a', 'aba'))
757 self.assertIsNone(re.match(r'(a)b(?=\1)c', 'abac'))
759 self.assertTrue(re.match(r'(?:(a)|(x))b(?=(?(2)x|c))c', 'abc'))
760 self.assertIsNone(re.match(r'(?:(a)|(x))b(?=(?(2)c|x))c', 'abc'))
761 self.assertTrue(re.match(r'(?:(a)|(x))b(?=(?(2)x|c))c', 'abc'))
762 self.assertIsNone(re.match(r'(?:(a)|(x))b(?=(?(1)b|x))c', 'abc'))
763 self.assertTrue(re.match(r'(?:(a)|(x))b(?=(?(1)c|x))c', 'abc'))
765 self.assertTrue(re.match(r'(a)b(?=(?(2)x|c))(c)', 'abc'))
766 self.assertIsNone(re.match(r'(a)b(?=(?(2)b|x))(c)', 'abc'))
767 self.assertTrue(re.match(r'(a)b(?=(?(1)c|x))(c)', 'abc'))
770 self.assertTrue(re.match(r'ab(?<=b)c', 'abc'))
771 self.assertIsNone(re.match(r'ab(?<=c)c', 'abc'))
772 self.assertIsNone(re.match(r'ab(?<!b)c', 'abc'))
773 self.assertTrue(re.match(r'ab(?<!c)c', 'abc'))
775 self.assertTrue(re.match(r'(a)a(?<=\1)c', 'aac'))
776 self.assertIsNone(re.match(r'(a)b(?<=\1)a', 'abaa'))
777 self.assertIsNone(re.match(r'(a)a(?<!\1)c', 'aac'))
778 self.assertTrue(re.match(r'(a)b(?<!\1)a', 'abaa'))
780 self.assertIsNone(re.match(r'(?:(a)|(x))b(?<=(?(2)x|c))c', 'abc'))
781 self.assertIsNone(re.match(r'(?:(a)|(x))b(?<=(?(2)b|x))c', 'abc'))
782 self.assertTrue(re.match(r'(?:(a)|(x))b(?<=(?(2)x|b))c', 'abc'))
783 self.assertIsNone(re.match(r'(?:(a)|(x))b(?<=(?(1)c|x))c', 'abc'))
784 self.assertTrue(re.match(r'(?:(a)|(x))b(?<=(?(1)b|x))c', 'abc'))
787 self.assertIsNone(re.match(r'(a)b(?<=(?(1)c|x))(c)', 'abc'))
788 self.assertTrue(re.match(r'(a)b(?<=(?(1)b|x))(c)', 'abc'))
796 self.assertEqual(re.match("abc", "ABC", re.I).group(0), "ABC")
797 self.assertEqual(re.match(b"abc", b"ABC", re.I).group(0), b"ABC")
798 self.assertEqual(re.match(r"(a\s[^a])", "a b", re.I).group(1), "a b")
799 self.assertEqual(re.match(r"(a\s[^a]*)", "a bb", re.I).group(1), "a bb")
800 self.assertEqual(re.match(r"(a\s[abc])", "a b", re.I).group(1), "a b")
801 self.assertEqual(re.match(r"(a\s[abc]*)", "a bb", re.I).group(1), "a bb")
802 self.assertEqual(re.match(r"((a)\s\2)", "a a", re.I).group(1), "a a")
803 self.assertEqual(re.match(r"((a)\s\2*)", "a aa", re.I).group(1), "a aa")
804 self.assertEqual(re.match(r"((a)\s(abc|a))", "a a", re.I).group(1), "a a")
805 self.assertEqual(re.match(r"((a)\s(abc|a)*)", "a aa", re.I).group(1), "a aa")
808 self.assertTrue(re.match(r'K', '\u212a', re.I))
809 self.assertTrue(re.match(r'k', '\u212a', re.I))
810 self.assertTrue(re.match(r'\u212a', 'K', re.I))
811 self.assertTrue(re.match(r'\u212a', 'k', re.I))
813 self.assertTrue(re.match(r'S', '\u017f', re.I))
814 self.assertTrue(re.match(r's', '\u017f', re.I))
815 self.assertTrue(re.match(r'\u017f', 'S', re.I))
816 self.assertTrue(re.match(r'\u017f', 's', re.I))
818 self.assertTrue(re.match(r'\ufb05', '\ufb06', re.I))
819 self.assertTrue(re.match(r'\ufb06', '\ufb05', re.I))
822 self.assertTrue(re.match(r'[19A]', 'A', re.I))
823 self.assertTrue(re.match(r'[19a]', 'a', re.I))
824 self.assertTrue(re.match(r'[19a]', 'A', re.I))
825 self.assertTrue(re.match(r'[19A]', 'a', re.I))
826 self.assertTrue(re.match(br'[19A]', b'A', re.I))
827 self.assertTrue(re.match(br'[19a]', b'a', re.I))
828 self.assertTrue(re.match(br'[19a]', b'A', re.I))
829 self.assertTrue(re.match(br'[19A]', b'a', re.I))
831 self.assertTrue(re.match(r'[19K]', '\u212a', re.I))
832 self.assertTrue(re.match(r'[19k]', '\u212a', re.I))
833 self.assertTrue(re.match(r'[19\u212a]', 'K', re.I))
834 self.assertTrue(re.match(r'[19\u212a]', 'k', re.I))
836 self.assertTrue(re.match(r'[19S]', '\u017f', re.I))
837 self.assertTrue(re.match(r'[19s]', '\u017f', re.I))
838 self.assertTrue(re.match(r'[19\u017f]', 'S', re.I))
839 self.assertTrue(re.match(r'[19\u017f]', 's', re.I))
841 self.assertTrue(re.match(r'[19\ufb05]', '\ufb06', re.I))
842 self.assertTrue(re.match(r'[19\ufb06]', '\ufb05', re.I))
846 self.assertTrue(re.match(r'[9-a]', '_', re.I))
847 self.assertIsNone(re.match(r'[9-A]', '_', re.I))
848 self.assertTrue(re.match(br'[9-a]', b'_', re.I))
849 self.assertIsNone(re.match(br'[9-A]', b'_', re.I))
850 self.assertTrue(re.match(r'[\xc0-\xde]', '\xd7', re.I))
851 self.assertIsNone(re.match(r'[\xc0-\xde]', '\xf7', re.I))
852 self.assertTrue(re.match(r'[\xe0-\xfe]', '\xf7', re.I))
853 self.assertIsNone(re.match(r'[\xe0-\xfe]', '\xd7', re.I))
854 self.assertTrue(re.match(r'[\u0430-\u045f]', '\u0450', re.I))
855 self.assertTrue(re.match(r'[\u0430-\u045f]', '\u0400', re.I))
856 self.assertTrue(re.match(r'[\u0400-\u042f]', '\u0450', re.I))
857 self.assertTrue(re.match(r'[\u0400-\u042f]', '\u0400', re.I))
858 self.assertTrue(re.match(r'[\U00010428-\U0001044f]', '\U00010428', re.I))
859 self.assertTrue(re.match(r'[\U00010428-\U0001044f]', '\U00010400', re.I))
860 self.assertTrue(re.match(r'[\U00010400-\U00010427]', '\U00010428', re.I))
861 self.assertTrue(re.match(r'[\U00010400-\U00010427]', '\U00010400', re.I))
864 self.assertTrue(re.match(r'[J-M]', '\u212a', re.I))
865 self.assertTrue(re.match(r'[j-m]', '\u212a', re.I))
866 self.assertTrue(re.match(r'[\u2129-\u212b]', 'K', re.I))
867 self.assertTrue(re.match(r'[\u2129-\u212b]', 'k', re.I))
869 self.assertTrue(re.match(r'[R-T]', '\u017f', re.I))
870 self.assertTrue(re.match(r'[r-t]', '\u017f', re.I))
871 self.assertTrue(re.match(r'[\u017e-\u0180]', 'S', re.I))
872 self.assertTrue(re.match(r'[\u017e-\u0180]', 's', re.I))
874 self.assertTrue(re.match(r'[\ufb04-\ufb05]', '\ufb06', re.I))
875 self.assertTrue(re.match(r'[\ufb06-\ufb07]', '\ufb05', re.I))
878 self.assertEqual(re.match(r"(\s)", " ").group(1), " ")
960 def assertMatch(self, pattern, text, match=None, span=None, argument
962 if match is None and span is None:
964 match = text
966 elif match is None or span is None:
971 self.assertEqual(m.group(), match)
1033 m = p.match('12.34')
1053 self.assertTrue(re.match(r"\%03o" % i, chr(i)))
1054 self.assertTrue(re.match(r"\%03o0" % i, chr(i)+"0"))
1055 self.assertTrue(re.match(r"\%03o8" % i, chr(i)+"8"))
1056 self.assertTrue(re.match(r"\x%02x" % i, chr(i)))
1057 self.assertTrue(re.match(r"\x%02x0" % i, chr(i)+"0"))
1058 self.assertTrue(re.match(r"\x%02xz" % i, chr(i)+"z"))
1060 self.assertTrue(re.match(r"\u%04x" % i, chr(i)))
1061 self.assertTrue(re.match(r"\u%04x0" % i, chr(i)+"0"))
1062 self.assertTrue(re.match(r"\u%04xz" % i, chr(i)+"z"))
1063 self.assertTrue(re.match(r"\U%08x" % i, chr(i)))
1064 self.assertTrue(re.match(r"\U%08x0" % i, chr(i)+"0"))
1065 self.assertTrue(re.match(r"\U%08xz" % i, chr(i)+"z"))
1066 self.assertTrue(re.match(r"\0", "\000"))
1067 self.assertTrue(re.match(r"\08", "\0008"))
1068 self.assertTrue(re.match(r"\01", "\001"))
1069 self.assertTrue(re.match(r"\018", "\0018"))
1085 self.assertTrue(re.match(r"[\%o]" % i, chr(i)))
1086 self.assertTrue(re.match(r"[\%o8]" % i, chr(i)))
1087 self.assertTrue(re.match(r"[\%03o]" % i, chr(i)))
1088 self.assertTrue(re.match(r"[\%03o0]" % i, chr(i)))
1089 self.assertTrue(re.match(r"[\%03o8]" % i, chr(i)))
1090 self.assertTrue(re.match(r"[\x%02x]" % i, chr(i)))
1091 self.assertTrue(re.match(r"[\x%02x0]" % i, chr(i)))
1092 self.assertTrue(re.match(r"[\x%02xz]" % i, chr(i)))
1094 self.assertTrue(re.match(r"[\u%04x]" % i, chr(i)))
1095 self.assertTrue(re.match(r"[\u%04x0]" % i, chr(i)))
1096 self.assertTrue(re.match(r"[\u%04xz]" % i, chr(i)))
1097 self.assertTrue(re.match(r"[\U%08x]" % i, chr(i)))
1098 self.assertTrue(re.match(r"[\U%08x0]" % i, chr(i)+"0"))
1099 self.assertTrue(re.match(r"[\U%08xz]" % i, chr(i)+"z"))
1108 self.assertTrue(re.match(r"[\U0001d49c-\U0001d4b5]", "\U0001d49e"))
1112 self.assertTrue(re.match((r"\%03o" % i).encode(), bytes([i])))
1113 self.assertTrue(re.match((r"\%03o0" % i).encode(), bytes([i])+b"0"))
1114 self.assertTrue(re.match((r"\%03o8" % i).encode(), bytes([i])+b"8"))
1115 self.assertTrue(re.match((r"\x%02x" % i).encode(), bytes([i])))
1116 self.assertTrue(re.match((r"\x%02x0" % i).encode(), bytes([i])+b"0"))
1117 self.assertTrue(re.match((r"\x%02xz" % i).encode(), bytes([i])+b"z"))
1120 self.assertTrue(re.match(br"\0", b"\000"))
1121 self.assertTrue(re.match(br"\08", b"\0008"))
1122 self.assertTrue(re.match(br"\01", b"\001"))
1123 self.assertTrue(re.match(br"\018", b"\0018"))
1133 self.assertTrue(re.match((r"[\%o]" % i).encode(), bytes([i])))
1134 self.assertTrue(re.match((r"[\%o8]" % i).encode(), bytes([i])))
1135 self.assertTrue(re.match((r"[\%03o]" % i).encode(), bytes([i])))
1136 self.assertTrue(re.match((r"[\%03o0]" % i).encode(), bytes([i])))
1137 self.assertTrue(re.match((r"[\%03o8]" % i).encode(), bytes([i])))
1138 self.assertTrue(re.match((r"[\x%02x]" % i).encode(), bytes([i])))
1139 self.assertTrue(re.match((r"[\x%02x0]" % i).encode(), bytes([i])))
1140 self.assertTrue(re.match((r"[\x%02xz]" % i).encode(), bytes([i])))
1161 self.assertEqual(re.match(r'(a)|(b)', 'b').start(1), -1)
1162 self.assertEqual(re.match(r'(a)|(b)', 'b').end(1), -1)
1163 self.assertEqual(re.match(r'(a)|(b)', 'b').span(1), (-1, -1))
1167 self.assertIsNone(re.match(r'(a)?a','a').lastindex)
1168 self.assertEqual(re.match(r'(a)(b)?b','ab').lastindex, 1)
1169 self.assertEqual(re.match(r'(?P<a>a)(?P<b>b)?b','ab').lastgroup, 'a')
1170 self.assertEqual(re.match(r"(?P<a>a(b))", "ab").lastgroup, 'a')
1171 self.assertEqual(re.match(r"((a))", "a").lastindex, 1)
1177 self.assertEqual(re.match('.*?c', 10000*'ab'+'cd').end(0), 20001)
1178 self.assertEqual(re.match('.*?cd', 5000*'ab'+'c'+5000*'ab'+'cde').end(0),
1180 self.assertEqual(re.match('.*?cd', 20000*'abc'+'de').end(0), 60001)
1192 self.assertEqual(re.match('(x)*', 50000*'x').group(1), 'x')
1193 self.assertEqual(re.match('(x)*y', 50000*'x'+'y').group(1), 'x')
1194 self.assertEqual(re.match('(x)*?y', 50000*'x'+'y').group(1), 'x')
1216 self.assertIsNone(re.match(r'(?:a?)*y', 'z'))
1217 self.assertIsNone(re.match(r'(?:a?)+y', 'z'))
1218 self.assertIsNone(re.match(r'(?:a?){2,}y', 'z'))
1219 self.assertIsNone(re.match(r'(?:a?)*?y', 'z'))
1220 self.assertIsNone(re.match(r'(?:a?)+?y', 'z'))
1221 self.assertIsNone(re.match(r'(?:a?){2,}?y', 'z'))
1247 self.assertEqual(re.match(r'((.%s):)?z'%op, 'z').groups(),
1249 self.assertEqual(re.match(r'((.%s):)?z'%op, 'a:z').groups(),
1254 self.assertEqual(re.match('^((a)|b)*', 'abc').groups(),
1256 self.assertEqual(re.match('^(([ab])|c)*', 'abc').groups(),
1258 self.assertEqual(re.match('^((d)|[ab])*', 'abc').groups(),
1260 self.assertEqual(re.match('^((a)c|[ab])*', 'abc').groups(),
1262 self.assertEqual(re.match('^((a)|b)*?c', 'abc').groups(),
1264 self.assertEqual(re.match('^(([ab])|c)*?d', 'abcd').groups(),
1266 self.assertEqual(re.match('^((d)|[ab])*?c', 'abc').groups(),
1268 self.assertEqual(re.match('^((a)c|[ab])*?c', 'abc').groups(),
1273 self.assertEqual(re.match('(a)(?:(?=(b)*)c)*', 'abb').groups(),
1275 self.assertEqual(re.match('(a)((?!(b)*))*', 'abb').groups(),
1282 self.assertIsNone(pat.match("xyz"))
1343 self.assertEqual(re.match(r'^\d$', x).group(0), x)
1352 self.assertIsNone(re.match(r'^\d$', x))
1359 self.assertIsNone(re.compile(b"bla").match(a))
1360 self.assertEqual(re.compile(b"").match(a).groups(), ())
1368 q = p.match('\n' + lower_char)
1372 q = p.match('\n' + upper_char)
1376 q = p.match('\n' + lower_char)
1380 q = p.match('\n' + upper_char)
1384 q = p.match('\n' + lower_char)
1388 q = p.match('\n' + upper_char)
1392 q = p.match('\n' + lower_char)
1396 q = p.match('\n' + upper_char)
1399 self.assertTrue(re.match('(?ix) ' + upper_char, lower_char))
1400 self.assertTrue(re.match('(?ix) ' + lower_char, upper_char))
1401 self.assertTrue(re.match(' (?i) ' + upper_char, lower_char, re.X))
1402 self.assertTrue(re.match('(?x) (?i) ' + upper_char, lower_char))
1403 self.assertTrue(re.match(' (?x) (?i) ' + upper_char, lower_char, re.X))
1407 self.assertTrue(re.match(p, lower_char))
1416 self.assertTrue(re.match(p, lower_char))
1428 self.assertTrue(re.match(p, b'a'))
1436 self.assertTrue(re.match('(?s).(?i)' + upper_char, '\n' + lower_char))
1438 self.assertTrue(re.match('(?i) ' + upper_char + ' (?x)', lower_char))
1440 self.assertTrue(re.match(' (?x) (?i) ' + upper_char, lower_char))
1442 self.assertTrue(re.match('^(?i)' + upper_char, lower_char))
1444 self.assertTrue(re.match('$|(?i)' + upper_char, lower_char))
1446 self.assertTrue(re.match('(?:(?i)' + upper_char + ')', lower_char))
1480 self.assertRaises(TypeError, pat.match, b'b')
1481 self.assertRaises(TypeError, bpat.match, 'b')
1493 self.assertTrue(pat.match('\xe0'))
1495 self.assertTrue(pat.match('\xe0'))
1497 self.assertIsNone(pat.match('\xe0'))
1499 self.assertIsNone(pat.match('\xe0'))
1501 self.assertIsNone(pat.match('\xe0'))
1503 self.assertIsNone(pat.match('\xe0'))
1507 self.assertIsNone(pat.match(b'\xe0'))
1509 self.assertIsNone(pat.match(b'\xe0'))
1550 self.assertTrue(pat.match(bletter))
1553 self.assertTrue(pat.match(bletter))
1556 self.assertIsNone(pat.match(bletter))
1559 self.assertTrue(pat.match(bletter))
1562 self.assertTrue(pat.match(bletter))
1565 self.assertIsNone(pat.match(bletter))
1575 self.assertTrue(re.match(r'(?i:a)b', 'Ab'))
1576 self.assertIsNone(re.match(r'(?i:a)b', 'aB'))
1577 self.assertIsNone(re.match(r'(?-i:a)b', 'Ab', re.IGNORECASE))
1578 self.assertTrue(re.match(r'(?-i:a)b', 'aB', re.IGNORECASE))
1579 self.assertIsNone(re.match(r'(?i:(?-i:a)b)', 'Ab'))
1580 self.assertTrue(re.match(r'(?i:(?-i:a)b)', 'aB'))
1582 self.assertTrue(re.match(r'(?x: a) b', 'a b'))
1583 self.assertIsNone(re.match(r'(?x: a) b', ' a b'))
1584 self.assertTrue(re.match(r'(?-x: a) b', ' ab', re.VERBOSE))
1585 self.assertIsNone(re.match(r'(?-x: a) b', 'ab', re.VERBOSE))
1587 self.assertTrue(re.match(r'\w(?a:\W)\w', '\xe0\xe0\xe0'))
1588 self.assertTrue(re.match(r'(?a:\W(?u:\w)\W)', '\xe0\xe0\xe0'))
1589 self.assertTrue(re.match(r'\W(?u:\w)\W', '\xe0\xe0\xe0', re.ASCII))
1684 self.assertEqual(re.match(r"(?s).{1,3}", "\u0100\u0100").span(), (0, 2))
1689 self.assertEqual(re.match(r".{65535}", string).span(), (0, 65535))
1690 self.assertEqual(re.match(r".{,65535}", string).span(), (0, 65535))
1691 self.assertEqual(re.match(r".{65535,}?", string).span(), (0, 65535))
1692 self.assertEqual(re.match(r".{65536}", string).span(), (0, 65536))
1693 self.assertEqual(re.match(r".{,65536}", string).span(), (0, 65536))
1694 self.assertEqual(re.match(r".{65536,}?", string).span(), (0, 65536))
1708 self.assertIsNone(re.match(r".{%d}" % (MAXREPEAT - 1), string))
1709 self.assertEqual(re.match(r".{,%d}" % (MAXREPEAT - 1), string).span(),
1711 self.assertIsNone(re.match(r".{%d,}?" % (MAXREPEAT - 1), string))
1783 m = r.match("xyyzy")
1846 pat.match(string='abracadabra', pos=7, endpos=10).span(), (7, 9))
1885 self.assertTrue(re.match(b'\xc5\xe5', b'\xc5\xe5', re.L|re.I))
1886 self.assertTrue(re.match(b'\xc5', b'\xe5', re.L|re.I))
1887 self.assertTrue(re.match(b'\xe5', b'\xc5', re.L|re.I))
1888 self.assertTrue(re.match(b'(?Li)\xc5\xe5', b'\xc5\xe5'))
1889 self.assertTrue(re.match(b'(?Li)\xc5', b'\xe5'))
1890 self.assertTrue(re.match(b'(?Li)\xe5', b'\xc5'))
1894 self.assertTrue(re.match(b'\xc5\xe5', b'\xc5\xe5', re.L|re.I))
1895 self.assertIsNone(re.match(b'\xc5', b'\xe5', re.L|re.I))
1896 self.assertIsNone(re.match(b'\xe5', b'\xc5', re.L|re.I))
1897 self.assertTrue(re.match(b'(?Li)\xc5\xe5', b'\xc5\xe5'))
1898 self.assertIsNone(re.match(b'(?Li)\xc5', b'\xe5'))
1899 self.assertIsNone(re.match(b'(?Li)\xe5', b'\xc5'))
1917 self.assertTrue(p.match(b'\xc5\xe5'))
1918 self.assertTrue(p.match(b'\xe5\xe5'))
1919 self.assertTrue(p.match(b'\xc5\xc5'))
1920 self.assertIsNone(p4.match(b'\xe5\xc5'))
1921 self.assertIsNone(p4.match(b'\xe5\xe5'))
1922 self.assertIsNone(p4.match(b'\xc5\xc5'))
1926 self.assertTrue(p.match(b'\xc5\xe5'))
1927 self.assertIsNone(p.match(b'\xe5\xe5'))
1928 self.assertIsNone(p.match(b'\xc5\xc5'))
1929 self.assertTrue(p4.match(b'\xe5\xc5'))
1930 self.assertIsNone(p4.match(b'\xe5\xe5'))
1931 self.assertIsNone(p4.match(b'\xc5\xc5'))
2169 self.assertTrue(p.match(s))
2173 self.assertTrue(p.match(s2, 10000))
2174 self.assertTrue(p.match(s2, 10000, 10000 + len(s)))