• Home
  • Raw
  • Download

Lines Matching refs:match

93         self.assertEqual(re.match('a*', 'xxx').span(0), (0, 0))
94 self.assertEqual(re.match('a*', 'xxx').span(), (0, 0))
95 self.assertEqual(re.match('x*', 'xxxa').span(0), (0, 3))
96 self.assertEqual(re.match('x*', 'xxxa').span(), (0, 3))
97 self.assertIsNone(re.match('a+', 'xxx'))
102 self.assertEqual(re.match('(ab|ba)', 'ab').span(), (0, 2))
103 self.assertEqual(re.match('(ab|ba)', 'ba').span(), (0, 2))
104 self.assertEqual(re.match('(abc|bac|ca|cb)', 'abc').span(),
106 self.assertEqual(re.match('(abc|bac|ca|cb)', 'bac').span(),
108 self.assertEqual(re.match('(abc|bac|ca|cb)', 'ca').span(),
110 self.assertEqual(re.match('(abc|bac|ca|cb)', 'cb').span(),
112 self.assertEqual(re.match('((a)|(b)|(c))', 'a').span(), (0, 1))
113 self.assertEqual(re.match('((a)|(b)|(c))', 'b').span(), (0, 1))
114 self.assertEqual(re.match('((a)|(b)|(c))', 'c').span(), (0, 1))
184 self.assertRaises(ValueError, re.match, pattern, 'A', re.I)
294 self.assertEqual(re.match(pat, 'xc8yz').span(), (0, 5))
510 self.assertEqual(re.match('a', string).groups(), ())
511 self.assertEqual(re.match('(a)', string).groups(), ('a',))
512 self.assertEqual(re.match('(a)', string).group(0), 'a')
513 self.assertEqual(re.match('(a)', string).group(1), 'a')
514 self.assertEqual(re.match('(a)', string).group(1, 1), ('a', 'a'))
516 self.assertEqual(re.match(b'a', string).groups(), ())
517 self.assertEqual(re.match(b'(a)', string).groups(), (b'a',))
518 self.assertEqual(re.match(b'(a)', string).group(0), b'a')
519 self.assertEqual(re.match(b'(a)', string).group(1), b'a')
520 self.assertEqual(re.match(b'(a)', string).group(1, 1), (b'a', b'a'))
522 self.assertEqual(re.match(a, a).groups(), ())
523 self.assertEqual(re.match('(%s)' % a, a).groups(), (a,))
524 self.assertEqual(re.match('(%s)' % a, a).group(0), a)
525 self.assertEqual(re.match('(%s)' % a, a).group(1), a)
526 self.assertEqual(re.match('(%s)' % a, a).group(1, 1), (a, a))
529 self.assertEqual(pat.match('a').groups(), ('a', 'a', None, None))
530 self.assertEqual(pat.match('b').groups(), ('b', None, 'b', None))
531 self.assertEqual(pat.match('ac').groups(), ('a', 'a', None, 'c'))
532 self.assertEqual(pat.match('bc').groups(), ('b', None, 'b', 'c'))
533 self.assertEqual(pat.match('bc').groups(""), ('b', "", 'b', 'c'))
536 self.assertEqual(pat.match('a').group(1, 2, 3), ('a', None, None))
537 self.assertEqual(pat.match('b').group('a1', 'b2', 'c3'),
539 self.assertEqual(pat.match('ac').group(1, 'b2', 3), ('a', None, 'c'))
548 m = re.match('(a)(b)', 'ab')
565 m = pat.match('a')
589 m = pat.match('ac')
637 self.assertEqual(re.match(r'^(\()?([^()]+)(?(1)\))$', '(a)').groups(),
639 self.assertEqual(re.match(r'^(\()?([^()]+)(?(1)\))$', 'a').groups(),
641 self.assertIsNone(re.match(r'^(\()?([^()]+)(?(1)\))$', 'a)'))
642 self.assertIsNone(re.match(r'^(\()?([^()]+)(?(1)\))$', '(a'))
643 self.assertEqual(re.match('^(?:(a)|c)((?(1)b|d))$', 'ab').groups(),
645 self.assertEqual(re.match(r'^(?:(a)|c)((?(1)b|d))$', 'cd').groups(),
647 self.assertEqual(re.match(r'^(?:(a)|c)((?(1)|d))$', 'cd').groups(),
649 self.assertEqual(re.match(r'^(?:(a)|c)((?(1)|d))$', 'a').groups(),
654 self.assertEqual(p.match('abc').groups(),
656 self.assertEqual(p.match('ad').groups(),
658 self.assertIsNone(p.match('abd'))
659 self.assertIsNone(p.match('ac'))
664 self.assertEqual(re.match(pat, 'xc8yz').span(), (0, 5))
710 self.assertEqual(re.match(r'^(\|)?([^()]+)\1$', '|a|').groups(),
712 self.assertEqual(re.match(r'^(\|)?([^()]+)\1?$', 'a').groups(),
714 self.assertIsNone(re.match(r'^(\|)?([^()]+)\1$', 'a|'))
715 self.assertIsNone(re.match(r'^(\|)?([^()]+)\1$', '|a'))
716 self.assertEqual(re.match(r'^(?:(a)|c)(\1)$', 'aa').groups(),
718 self.assertEqual(re.match(r'^(?:(a)|c)(\1)?$', 'c').groups(),
724 self.assertEqual(re.match('(?P<first>first) (?P<second>second)',
729 self.assertEqual(re.match("(?P<first>first) (?P<second>second)",
733 self.assertEqual(re.match("(?P<first>first)|(?P<second>second)",
739 self.assertIsNone(re.match(r"^(\w){1}$", "abc"))
740 self.assertIsNone(re.match(r"^(\w){1}?$", "abc"))
741 self.assertIsNone(re.match(r"^(\w){1,2}$", "abc"))
742 self.assertIsNone(re.match(r"^(\w){1,2}?$", "abc"))
744 self.assertEqual(re.match(r"^(\w){3}$", "abc").group(1), "c")
745 self.assertEqual(re.match(r"^(\w){1,3}$", "abc").group(1), "c")
746 self.assertEqual(re.match(r"^(\w){1,4}$", "abc").group(1), "c")
747 self.assertEqual(re.match(r"^(\w){3,4}?$", "abc").group(1), "c")
748 self.assertEqual(re.match(r"^(\w){3}?$", "abc").group(1), "c")
749 self.assertEqual(re.match(r"^(\w){1,3}?$", "abc").group(1), "c")
750 self.assertEqual(re.match(r"^(\w){1,4}?$", "abc").group(1), "c")
751 self.assertEqual(re.match(r"^(\w){3,4}?$", "abc").group(1), "c")
753 self.assertIsNone(re.match(r"^x{1}$", "xxx"))
754 self.assertIsNone(re.match(r"^x{1}?$", "xxx"))
755 self.assertIsNone(re.match(r"^x{1,2}$", "xxx"))
756 self.assertIsNone(re.match(r"^x{1,2}?$", "xxx"))
758 self.assertTrue(re.match(r"^x{3}$", "xxx"))
759 self.assertTrue(re.match(r"^x{1,3}$", "xxx"))
760 self.assertTrue(re.match(r"^x{3,3}$", "xxx"))
761 self.assertTrue(re.match(r"^x{1,4}$", "xxx"))
762 self.assertTrue(re.match(r"^x{3,4}?$", "xxx"))
763 self.assertTrue(re.match(r"^x{3}?$", "xxx"))
764 self.assertTrue(re.match(r"^x{1,3}?$", "xxx"))
765 self.assertTrue(re.match(r"^x{1,4}?$", "xxx"))
766 self.assertTrue(re.match(r"^x{3,4}?$", "xxx"))
768 self.assertIsNone(re.match(r"^x{}$", "xxx"))
769 self.assertTrue(re.match(r"^x{}$", "x{}"))
782 self.assertEqual(re.match("(a)", "a").pos, 0)
783 self.assertEqual(re.match("(a)", "a").endpos, 1)
784 self.assertEqual(re.match("(a)", "a").string, "a")
785 self.assertEqual(re.match("(a)", "a").regs, ((0, 1), (0, 1)))
786 self.assertTrue(re.match("(a)", "a").re)
830 self.assertEqual(re.match(r"\(", '(').group(), '(')
831 self.assertIsNone(re.match(r"\(", ')'))
832 self.assertEqual(re.match(r"\\", '\\').group(), '\\')
833 self.assertEqual(re.match(r"[\]]", ']').group(), ']')
834 self.assertIsNone(re.match(r"[\]]", '['))
835 self.assertEqual(re.match(r"[a\-c]", '-').group(), '-')
836 self.assertIsNone(re.match(r"[a\-c]", 'b'))
837 self.assertEqual(re.match(r"[\^a]+", 'a^').group(), 'a^')
838 self.assertIsNone(re.match(r"[\^a]+", 'b'))
849 self.assertTrue(re.match(r'\N{LESS-THAN SIGN}', '<'))
850 self.assertTrue(re.match(r'\N{less-than sign}', '<'))
851 self.assertIsNone(re.match(r'\N{LESS-THAN SIGN}', '>'))
852 self.assertTrue(re.match(r'\N{SNAKE}', '\U0001f40d'))
853 self.assertTrue(re.match(r'\N{ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH '
856 self.assertTrue(re.match(r'[\N{LESS-THAN SIGN}-\N{GREATER-THAN SIGN}]',
858 self.assertIsNone(re.match(r'[\N{LESS-THAN SIGN}-\N{GREATER-THAN SIGN}]',
896 self.assertTrue(re.match(r".\b", "a="))
897 self.assertTrue(re.match(r".\b", "a=", re.ASCII))
898 self.assertTrue(re.match(br".\b", b"a="))
899 self.assertTrue(re.match(br".\b", b"a=", re.LOCALE))
900 self.assertTrue(re.match(r".\b", "я="))
901 self.assertIsNone(re.match(r".\b", "я=", re.ASCII))
903 self.assertTrue(re.match(r".\b", "=a"))
904 self.assertTrue(re.match(r".\b", "=a", re.ASCII))
905 self.assertTrue(re.match(br".\b", b"=a"))
906 self.assertTrue(re.match(br".\b", b"=a", re.LOCALE))
907 self.assertTrue(re.match(r".\b", "=я"))
908 self.assertIsNone(re.match(r".\b", "=я", re.ASCII))
910 self.assertIsNone(re.match(r".\b", "ab"))
911 self.assertIsNone(re.match(r".\b", "ab", re.ASCII))
912 self.assertIsNone(re.match(br".\b", b"ab"))
913 self.assertIsNone(re.match(br".\b", b"ab", re.LOCALE))
914 self.assertIsNone(re.match(r".\b", "юя"))
915 self.assertIsNone(re.match(r".\b", "юя", re.ASCII))
917 self.assertIsNone(re.match(r".\b", "=-"))
918 self.assertIsNone(re.match(r".\b", "=-", re.ASCII))
919 self.assertIsNone(re.match(br".\b", b"=-"))
920 self.assertIsNone(re.match(br".\b", b"=-", re.LOCALE))
922 self.assertIsNone(re.match(r".\B", "a="))
923 self.assertIsNone(re.match(r".\B", "a=", re.ASCII))
924 self.assertIsNone(re.match(br".\B", b"a="))
925 self.assertIsNone(re.match(br".\B", b"a=", re.LOCALE))
926 self.assertIsNone(re.match(r".\B", "я="))
927 self.assertTrue(re.match(r".\B", "я=", re.ASCII))
929 self.assertIsNone(re.match(r".\B", "=a"))
930 self.assertIsNone(re.match(r".\B", "=a", re.ASCII))
931 self.assertIsNone(re.match(br".\B", b"=a"))
932 self.assertIsNone(re.match(br".\B", b"=a", re.LOCALE))
933 self.assertIsNone(re.match(r".\B", "=я"))
934 self.assertTrue(re.match(r".\B", "=я", re.ASCII))
936 self.assertTrue(re.match(r".\B", "ab"))
937 self.assertTrue(re.match(r".\B", "ab", re.ASCII))
938 self.assertTrue(re.match(br".\B", b"ab"))
939 self.assertTrue(re.match(br".\B", b"ab", re.LOCALE))
940 self.assertTrue(re.match(r".\B", "юя"))
941 self.assertTrue(re.match(r".\B", "юя", re.ASCII))
943 self.assertTrue(re.match(r".\B", "=-"))
944 self.assertTrue(re.match(r".\B", "=-", re.ASCII))
945 self.assertTrue(re.match(br".\B", b"=-"))
946 self.assertTrue(re.match(br".\B", b"=-", re.LOCALE))
948 self.assertTrue(re.match(r"\b", "abc"))
949 self.assertTrue(re.match(r"\b", "abc", re.ASCII))
950 self.assertTrue(re.match(br"\b", b"abc"))
951 self.assertTrue(re.match(br"\b", b"abc", re.LOCALE))
952 self.assertTrue(re.match(r"\b", "ьюя"))
953 self.assertIsNone(re.match(r"\b", "ьюя", re.ASCII))
969 self.assertIsNone(re.match(r"\B", "abc"))
970 self.assertIsNone(re.match(r"\B", "abc", re.ASCII))
971 self.assertIsNone(re.match(br"\B", b"abc"))
972 self.assertIsNone(re.match(br"\B", b"abc", re.LOCALE))
973 self.assertIsNone(re.match(r"\B", "ьюя"))
974 self.assertTrue(re.match(r"\B", "ьюя", re.ASCII))
1020 self.assertEqual(re.match("([\u2222\u2223])",
1023 self.assertEqual(re.match(r, "\uff01").group(), "\uff01")
1028 self.assertTrue(r.match('1000'))
1029 self.assertTrue(r.match('9999'))
1032 self.assertEqual(re.match("a.b", "a\nb", re.DOTALL).group(0),
1034 self.assertEqual(re.match("a.*b", "a\n\nb", re.DOTALL).group(0),
1038 self.assertEqual(re.match(r"(a(?=\s[^a]))", "a b").group(1), "a")
1039 self.assertEqual(re.match(r"(a(?=\s[^a]*))", "a b").group(1), "a")
1040 self.assertEqual(re.match(r"(a(?=\s[abc]))", "a b").group(1), "a")
1041 self.assertEqual(re.match(r"(a(?=\s[abc]*))", "a bc").group(1), "a")
1042 self.assertEqual(re.match(r"(a)(?=\s\1)", "a a").group(1), "a")
1043 self.assertEqual(re.match(r"(a)(?=\s\1*)", "a aa").group(1), "a")
1044 self.assertEqual(re.match(r"(a)(?=\s(abc|a))", "a a").group(1), "a")
1046 self.assertEqual(re.match(r"(a(?!\s[^a]))", "a a").group(1), "a")
1047 self.assertEqual(re.match(r"(a(?!\s[abc]))", "a d").group(1), "a")
1048 self.assertEqual(re.match(r"(a)(?!\s\1)", "a b").group(1), "a")
1049 self.assertEqual(re.match(r"(a)(?!\s(abc|a))", "a b").group(1), "a")
1052 self.assertTrue(re.match(r'(a)b(?=\1)a', 'aba'))
1053 self.assertIsNone(re.match(r'(a)b(?=\1)c', 'abac'))
1055 self.assertTrue(re.match(r'(?:(a)|(x))b(?=(?(2)x|c))c', 'abc'))
1056 self.assertIsNone(re.match(r'(?:(a)|(x))b(?=(?(2)c|x))c', 'abc'))
1057 self.assertTrue(re.match(r'(?:(a)|(x))b(?=(?(2)x|c))c', 'abc'))
1058 self.assertIsNone(re.match(r'(?:(a)|(x))b(?=(?(1)b|x))c', 'abc'))
1059 self.assertTrue(re.match(r'(?:(a)|(x))b(?=(?(1)c|x))c', 'abc'))
1061 self.assertTrue(re.match(r'(a)b(?=(?(2)x|c))(c)', 'abc'))
1062 self.assertIsNone(re.match(r'(a)b(?=(?(2)b|x))(c)', 'abc'))
1063 self.assertTrue(re.match(r'(a)b(?=(?(1)c|x))(c)', 'abc'))
1066 self.assertTrue(re.match(r'ab(?<=b)c', 'abc'))
1067 self.assertIsNone(re.match(r'ab(?<=c)c', 'abc'))
1068 self.assertIsNone(re.match(r'ab(?<!b)c', 'abc'))
1069 self.assertTrue(re.match(r'ab(?<!c)c', 'abc'))
1071 self.assertTrue(re.match(r'(a)a(?<=\1)c', 'aac'))
1072 self.assertIsNone(re.match(r'(a)b(?<=\1)a', 'abaa'))
1073 self.assertIsNone(re.match(r'(a)a(?<!\1)c', 'aac'))
1074 self.assertTrue(re.match(r'(a)b(?<!\1)a', 'abaa'))
1076 self.assertIsNone(re.match(r'(?:(a)|(x))b(?<=(?(2)x|c))c', 'abc'))
1077 self.assertIsNone(re.match(r'(?:(a)|(x))b(?<=(?(2)b|x))c', 'abc'))
1078 self.assertTrue(re.match(r'(?:(a)|(x))b(?<=(?(2)x|b))c', 'abc'))
1079 self.assertIsNone(re.match(r'(?:(a)|(x))b(?<=(?(1)c|x))c', 'abc'))
1080 self.assertTrue(re.match(r'(?:(a)|(x))b(?<=(?(1)b|x))c', 'abc'))
1083 self.assertIsNone(re.match(r'(a)b(?<=(?(1)c|x))(c)', 'abc'))
1084 self.assertTrue(re.match(r'(a)b(?<=(?(1)b|x))(c)', 'abc'))
1092 self.assertEqual(re.match("abc", "ABC", re.I).group(0), "ABC")
1093 self.assertEqual(re.match(b"abc", b"ABC", re.I).group(0), b"ABC")
1094 self.assertEqual(re.match(r"(a\s[^a])", "a b", re.I).group(1), "a b")
1095 self.assertEqual(re.match(r"(a\s[^a]*)", "a bb", re.I).group(1), "a bb")
1096 self.assertEqual(re.match(r"(a\s[abc])", "a b", re.I).group(1), "a b")
1097 self.assertEqual(re.match(r"(a\s[abc]*)", "a bb", re.I).group(1), "a bb")
1098 self.assertEqual(re.match(r"((a)\s\2)", "a a", re.I).group(1), "a a")
1099 self.assertEqual(re.match(r"((a)\s\2*)", "a aa", re.I).group(1), "a aa")
1100 self.assertEqual(re.match(r"((a)\s(abc|a))", "a a", re.I).group(1), "a a")
1101 self.assertEqual(re.match(r"((a)\s(abc|a)*)", "a aa", re.I).group(1), "a aa")
1105 self.assertTrue(re.match(r'K', '\u212a', re.I))
1106 self.assertTrue(re.match(r'k', '\u212a', re.I))
1107 self.assertTrue(re.match(r'\u212a', 'K', re.I))
1108 self.assertTrue(re.match(r'\u212a', 'k', re.I))
1112 self.assertTrue(re.match(r'S', '\u017f', re.I))
1113 self.assertTrue(re.match(r's', '\u017f', re.I))
1114 self.assertTrue(re.match(r'\u017f', 'S', re.I))
1115 self.assertTrue(re.match(r'\u017f', 's', re.I))
1119 self.assertTrue(re.match(r'\u0412', '\u0432', re.I))
1120 self.assertTrue(re.match(r'\u0412', '\u1c80', re.I))
1121 self.assertTrue(re.match(r'\u0432', '\u0412', re.I))
1122 self.assertTrue(re.match(r'\u0432', '\u1c80', re.I))
1123 self.assertTrue(re.match(r'\u1c80', '\u0412', re.I))
1124 self.assertTrue(re.match(r'\u1c80', '\u0432', re.I))
1128 self.assertTrue(re.match(r'\ufb05', '\ufb06', re.I))
1129 self.assertTrue(re.match(r'\ufb06', '\ufb05', re.I))
1132 self.assertTrue(re.match(r'[19A]', 'A', re.I))
1133 self.assertTrue(re.match(r'[19a]', 'a', re.I))
1134 self.assertTrue(re.match(r'[19a]', 'A', re.I))
1135 self.assertTrue(re.match(r'[19A]', 'a', re.I))
1136 self.assertTrue(re.match(br'[19A]', b'A', re.I))
1137 self.assertTrue(re.match(br'[19a]', b'a', re.I))
1138 self.assertTrue(re.match(br'[19a]', b'A', re.I))
1139 self.assertTrue(re.match(br'[19A]', b'a', re.I))
1140 self.assertTrue(re.match(r'[19\xc7]', '\xc7', re.I))
1141 self.assertTrue(re.match(r'[19\xc7]', '\xe7', re.I))
1142 self.assertTrue(re.match(r'[19\xe7]', '\xc7', re.I))
1143 self.assertTrue(re.match(r'[19\xe7]', '\xe7', re.I))
1144 self.assertTrue(re.match(r'[19\u0400]', '\u0400', re.I))
1145 self.assertTrue(re.match(r'[19\u0400]', '\u0450', re.I))
1146 self.assertTrue(re.match(r'[19\u0450]', '\u0400', re.I))
1147 self.assertTrue(re.match(r'[19\u0450]', '\u0450', re.I))
1148 self.assertTrue(re.match(r'[19\U00010400]', '\U00010400', re.I))
1149 self.assertTrue(re.match(r'[19\U00010400]', '\U00010428', re.I))
1150 self.assertTrue(re.match(r'[19\U00010428]', '\U00010400', re.I))
1151 self.assertTrue(re.match(r'[19\U00010428]', '\U00010428', re.I))
1153 self.assertTrue(re.match(br'[19A]', b'A', re.I))
1154 self.assertTrue(re.match(br'[19a]', b'a', re.I))
1155 self.assertTrue(re.match(br'[19a]', b'A', re.I))
1156 self.assertTrue(re.match(br'[19A]', b'a', re.I))
1157 self.assertTrue(re.match(r'[19A]', 'A', re.I|re.A))
1158 self.assertTrue(re.match(r'[19a]', 'a', re.I|re.A))
1159 self.assertTrue(re.match(r'[19a]', 'A', re.I|re.A))
1160 self.assertTrue(re.match(r'[19A]', 'a', re.I|re.A))
1161 self.assertTrue(re.match(r'[19\xc7]', '\xc7', re.I|re.A))
1162 self.assertIsNone(re.match(r'[19\xc7]', '\xe7', re.I|re.A))
1163 self.assertIsNone(re.match(r'[19\xe7]', '\xc7', re.I|re.A))
1164 self.assertTrue(re.match(r'[19\xe7]', '\xe7', re.I|re.A))
1165 self.assertTrue(re.match(r'[19\u0400]', '\u0400', re.I|re.A))
1166 self.assertIsNone(re.match(r'[19\u0400]', '\u0450', re.I|re.A))
1167 self.assertIsNone(re.match(r'[19\u0450]', '\u0400', re.I|re.A))
1168 self.assertTrue(re.match(r'[19\u0450]', '\u0450', re.I|re.A))
1169 self.assertTrue(re.match(r'[19\U00010400]', '\U00010400', re.I|re.A))
1170 self.assertIsNone(re.match(r'[19\U00010400]', '\U00010428', re.I|re.A))
1171 self.assertIsNone(re.match(r'[19\U00010428]', '\U00010400', re.I|re.A))
1172 self.assertTrue(re.match(r'[19\U00010428]', '\U00010428', re.I|re.A))
1176 self.assertTrue(re.match(r'[19K]', '\u212a', re.I))
1177 self.assertTrue(re.match(r'[19k]', '\u212a', re.I))
1178 self.assertTrue(re.match(r'[19\u212a]', 'K', re.I))
1179 self.assertTrue(re.match(r'[19\u212a]', 'k', re.I))
1183 self.assertTrue(re.match(r'[19S]', '\u017f', re.I))
1184 self.assertTrue(re.match(r'[19s]', '\u017f', re.I))
1185 self.assertTrue(re.match(r'[19\u017f]', 'S', re.I))
1186 self.assertTrue(re.match(r'[19\u017f]', 's', re.I))
1190 self.assertTrue(re.match(r'[19\u0412]', '\u0432', re.I))
1191 self.assertTrue(re.match(r'[19\u0412]', '\u1c80', re.I))
1192 self.assertTrue(re.match(r'[19\u0432]', '\u0412', re.I))
1193 self.assertTrue(re.match(r'[19\u0432]', '\u1c80', re.I))
1194 self.assertTrue(re.match(r'[19\u1c80]', '\u0412', re.I))
1195 self.assertTrue(re.match(r'[19\u1c80]', '\u0432', re.I))
1199 self.assertTrue(re.match(r'[19\ufb05]', '\ufb06', re.I))
1200 self.assertTrue(re.match(r'[19\ufb06]', '\ufb05', re.I))
1204 self.assertTrue(re.match(r'[9-a]', '_', re.I))
1205 self.assertIsNone(re.match(r'[9-A]', '_', re.I))
1206 self.assertTrue(re.match(br'[9-a]', b'_', re.I))
1207 self.assertIsNone(re.match(br'[9-A]', b'_', re.I))
1208 self.assertTrue(re.match(r'[\xc0-\xde]', '\xd7', re.I))
1209 self.assertTrue(re.match(r'[\xc0-\xde]', '\xe7', re.I))
1210 self.assertIsNone(re.match(r'[\xc0-\xde]', '\xf7', re.I))
1211 self.assertTrue(re.match(r'[\xe0-\xfe]', '\xf7', re.I))
1212 self.assertTrue(re.match(r'[\xe0-\xfe]', '\xc7', re.I))
1213 self.assertIsNone(re.match(r'[\xe0-\xfe]', '\xd7', re.I))
1214 self.assertTrue(re.match(r'[\u0430-\u045f]', '\u0450', re.I))
1215 self.assertTrue(re.match(r'[\u0430-\u045f]', '\u0400', re.I))
1216 self.assertTrue(re.match(r'[\u0400-\u042f]', '\u0450', re.I))
1217 self.assertTrue(re.match(r'[\u0400-\u042f]', '\u0400', re.I))
1218 self.assertTrue(re.match(r'[\U00010428-\U0001044f]', '\U00010428', re.I))
1219 self.assertTrue(re.match(r'[\U00010428-\U0001044f]', '\U00010400', re.I))
1220 self.assertTrue(re.match(r'[\U00010400-\U00010427]', '\U00010428', re.I))
1221 self.assertTrue(re.match(r'[\U00010400-\U00010427]', '\U00010400', re.I))
1223 self.assertTrue(re.match(r'[\xc0-\xde]', '\xd7', re.I|re.A))
1224 self.assertIsNone(re.match(r'[\xc0-\xde]', '\xe7', re.I|re.A))
1225 self.assertTrue(re.match(r'[\xe0-\xfe]', '\xf7', re.I|re.A))
1226 self.assertIsNone(re.match(r'[\xe0-\xfe]', '\xc7', re.I|re.A))
1227 self.assertTrue(re.match(r'[\u0430-\u045f]', '\u0450', re.I|re.A))
1228 self.assertIsNone(re.match(r'[\u0430-\u045f]', '\u0400', re.I|re.A))
1229 self.assertIsNone(re.match(r'[\u0400-\u042f]', '\u0450', re.I|re.A))
1230 self.assertTrue(re.match(r'[\u0400-\u042f]', '\u0400', re.I|re.A))
1231 self.assertTrue(re.match(r'[\U00010428-\U0001044f]', '\U00010428', re.I|re.A))
1232 self.assertIsNone(re.match(r'[\U00010428-\U0001044f]', '\U00010400', re.I|re.A))
1233 self.assertIsNone(re.match(r'[\U00010400-\U00010427]', '\U00010428', re.I|re.A))
1234 self.assertTrue(re.match(r'[\U00010400-\U00010427]', '\U00010400', re.I|re.A))
1236 self.assertTrue(re.match(r'[N-\x7f]', 'A', re.I|re.A))
1237 self.assertTrue(re.match(r'[n-\x7f]', 'Z', re.I|re.A))
1238 self.assertTrue(re.match(r'[N-\uffff]', 'A', re.I|re.A))
1239 self.assertTrue(re.match(r'[n-\uffff]', 'Z', re.I|re.A))
1240 self.assertTrue(re.match(r'[N-\U00010000]', 'A', re.I|re.A))
1241 self.assertTrue(re.match(r'[n-\U00010000]', 'Z', re.I|re.A))
1245 self.assertTrue(re.match(r'[J-M]', '\u212a', re.I))
1246 self.assertTrue(re.match(r'[j-m]', '\u212a', re.I))
1247 self.assertTrue(re.match(r'[\u2129-\u212b]', 'K', re.I))
1248 self.assertTrue(re.match(r'[\u2129-\u212b]', 'k', re.I))
1252 self.assertTrue(re.match(r'[R-T]', '\u017f', re.I))
1253 self.assertTrue(re.match(r'[r-t]', '\u017f', re.I))
1254 self.assertTrue(re.match(r'[\u017e-\u0180]', 'S', re.I))
1255 self.assertTrue(re.match(r'[\u017e-\u0180]', 's', re.I))
1259 self.assertTrue(re.match(r'[\u0411-\u0413]', '\u0432', re.I))
1260 self.assertTrue(re.match(r'[\u0411-\u0413]', '\u1c80', re.I))
1261 self.assertTrue(re.match(r'[\u0431-\u0433]', '\u0412', re.I))
1262 self.assertTrue(re.match(r'[\u0431-\u0433]', '\u1c80', re.I))
1263 self.assertTrue(re.match(r'[\u1c80-\u1c82]', '\u0412', re.I))
1264 self.assertTrue(re.match(r'[\u1c80-\u1c82]', '\u0432', re.I))
1268 self.assertTrue(re.match(r'[\ufb04-\ufb05]', '\ufb06', re.I))
1269 self.assertTrue(re.match(r'[\ufb06-\ufb07]', '\ufb05', re.I))
1272 self.assertEqual(re.match(r"(\s)", " ").group(1), " ")
1356 def assertMatch(self, pattern, text, match=None, span=None, argument
1358 if match is None and span is None:
1360 match = text
1362 elif match is None or span is None:
1367 self.assertEqual(m.group(), match)
1429 m = p.match('12.34')
1449 self.assertTrue(re.match(r"\%03o" % i, chr(i)))
1450 self.assertTrue(re.match(r"\%03o0" % i, chr(i)+"0"))
1451 self.assertTrue(re.match(r"\%03o8" % i, chr(i)+"8"))
1452 self.assertTrue(re.match(r"\x%02x" % i, chr(i)))
1453 self.assertTrue(re.match(r"\x%02x0" % i, chr(i)+"0"))
1454 self.assertTrue(re.match(r"\x%02xz" % i, chr(i)+"z"))
1456 self.assertTrue(re.match(r"\u%04x" % i, chr(i)))
1457 self.assertTrue(re.match(r"\u%04x0" % i, chr(i)+"0"))
1458 self.assertTrue(re.match(r"\u%04xz" % i, chr(i)+"z"))
1459 self.assertTrue(re.match(r"\U%08x" % i, chr(i)))
1460 self.assertTrue(re.match(r"\U%08x0" % i, chr(i)+"0"))
1461 self.assertTrue(re.match(r"\U%08xz" % i, chr(i)+"z"))
1462 self.assertTrue(re.match(r"\0", "\000"))
1463 self.assertTrue(re.match(r"\08", "\0008"))
1464 self.assertTrue(re.match(r"\01", "\001"))
1465 self.assertTrue(re.match(r"\018", "\0018"))
1481 self.assertTrue(re.match(r"[\%o]" % i, chr(i)))
1482 self.assertTrue(re.match(r"[\%o8]" % i, chr(i)))
1483 self.assertTrue(re.match(r"[\%03o]" % i, chr(i)))
1484 self.assertTrue(re.match(r"[\%03o0]" % i, chr(i)))
1485 self.assertTrue(re.match(r"[\%03o8]" % i, chr(i)))
1486 self.assertTrue(re.match(r"[\x%02x]" % i, chr(i)))
1487 self.assertTrue(re.match(r"[\x%02x0]" % i, chr(i)))
1488 self.assertTrue(re.match(r"[\x%02xz]" % i, chr(i)))
1490 self.assertTrue(re.match(r"[\u%04x]" % i, chr(i)))
1491 self.assertTrue(re.match(r"[\u%04x0]" % i, chr(i)))
1492 self.assertTrue(re.match(r"[\u%04xz]" % i, chr(i)))
1493 self.assertTrue(re.match(r"[\U%08x]" % i, chr(i)))
1494 self.assertTrue(re.match(r"[\U%08x0]" % i, chr(i)+"0"))
1495 self.assertTrue(re.match(r"[\U%08xz]" % i, chr(i)+"z"))
1504 self.assertTrue(re.match(r"[\U0001d49c-\U0001d4b5]", "\U0001d49e"))
1508 self.assertTrue(re.match((r"\%03o" % i).encode(), bytes([i])))
1509 self.assertTrue(re.match((r"\%03o0" % i).encode(), bytes([i])+b"0"))
1510 self.assertTrue(re.match((r"\%03o8" % i).encode(), bytes([i])+b"8"))
1511 self.assertTrue(re.match((r"\x%02x" % i).encode(), bytes([i])))
1512 self.assertTrue(re.match((r"\x%02x0" % i).encode(), bytes([i])+b"0"))
1513 self.assertTrue(re.match((r"\x%02xz" % i).encode(), bytes([i])+b"z"))
1516 self.assertTrue(re.match(br"\0", b"\000"))
1517 self.assertTrue(re.match(br"\08", b"\0008"))
1518 self.assertTrue(re.match(br"\01", b"\001"))
1519 self.assertTrue(re.match(br"\018", b"\0018"))
1529 self.assertTrue(re.match((r"[\%o]" % i).encode(), bytes([i])))
1530 self.assertTrue(re.match((r"[\%o8]" % i).encode(), bytes([i])))
1531 self.assertTrue(re.match((r"[\%03o]" % i).encode(), bytes([i])))
1532 self.assertTrue(re.match((r"[\%03o0]" % i).encode(), bytes([i])))
1533 self.assertTrue(re.match((r"[\%03o8]" % i).encode(), bytes([i])))
1534 self.assertTrue(re.match((r"[\x%02x]" % i).encode(), bytes([i])))
1535 self.assertTrue(re.match((r"[\x%02x0]" % i).encode(), bytes([i])))
1536 self.assertTrue(re.match((r"[\x%02xz]" % i).encode(), bytes([i])))
1557 self.assertEqual(re.match(r'(a)|(b)', 'b').start(1), -1)
1558 self.assertEqual(re.match(r'(a)|(b)', 'b').end(1), -1)
1559 self.assertEqual(re.match(r'(a)|(b)', 'b').span(1), (-1, -1))
1563 self.assertIsNone(re.match(r'(a)?a','a').lastindex)
1564 self.assertEqual(re.match(r'(a)(b)?b','ab').lastindex, 1)
1565 self.assertEqual(re.match(r'(?P<a>a)(?P<b>b)?b','ab').lastgroup, 'a')
1566 self.assertEqual(re.match(r"(?P<a>a(b))", "ab").lastgroup, 'a')
1567 self.assertEqual(re.match(r"((a))", "a").lastindex, 1)
1573 self.assertEqual(re.match('.*?c', 10000*'ab'+'cd').end(0), 20001)
1574 self.assertEqual(re.match('.*?cd', 5000*'ab'+'c'+5000*'ab'+'cde').end(0),
1576 self.assertEqual(re.match('.*?cd', 20000*'abc'+'de').end(0), 60001)
1588 self.assertEqual(re.match('(x)*', 50000*'x').group(1), 'x')
1589 self.assertEqual(re.match('(x)*y', 50000*'x'+'y').group(1), 'x')
1590 self.assertEqual(re.match('(x)*?y', 50000*'x'+'y').group(1), 'x')
1614 self.assertIsNone(re.match(r'(?:a?)*y', 'z'))
1615 self.assertIsNone(re.match(r'(?:a?)+y', 'z'))
1616 self.assertIsNone(re.match(r'(?:a?){2,}y', 'z'))
1617 self.assertIsNone(re.match(r'(?:a?)*?y', 'z'))
1618 self.assertIsNone(re.match(r'(?:a?)+?y', 'z'))
1619 self.assertIsNone(re.match(r'(?:a?){2,}?y', 'z'))
1645 self.assertEqual(re.match(r'((.%s):)?z'%op, 'z').groups(),
1647 self.assertEqual(re.match(r'((.%s):)?z'%op, 'a:z').groups(),
1652 self.assertEqual(re.match('^((a)|b)*', 'abc').groups(),
1654 self.assertEqual(re.match('^(([ab])|c)*', 'abc').groups(),
1656 self.assertEqual(re.match('^((d)|[ab])*', 'abc').groups(),
1658 self.assertEqual(re.match('^((a)c|[ab])*', 'abc').groups(),
1660 self.assertEqual(re.match('^((a)|b)*?c', 'abc').groups(),
1662 self.assertEqual(re.match('^(([ab])|c)*?d', 'abcd').groups(),
1664 self.assertEqual(re.match('^((d)|[ab])*?c', 'abc').groups(),
1666 self.assertEqual(re.match('^((a)c|[ab])*?c', 'abc').groups(),
1671 self.assertEqual(re.match('(a)(?:(?=(b)*)c)*', 'abb').groups(),
1673 self.assertEqual(re.match('(a)((?!(b)*))*', 'abb').groups(),
1680 self.assertIsNone(pat.match("xyz"))
1741 self.assertEqual(re.match(r'^\d$', x).group(0), x)
1750 self.assertIsNone(re.match(r'^\d$', x))
1758 self.assertIsNone(re.compile(b"bla").match(a))
1759 self.assertEqual(re.compile(b"").match(a).groups(), ())
1767 q = p.match('\n' + lower_char)
1771 q = p.match('\n' + upper_char)
1775 q = p.match('\n' + lower_char)
1779 q = p.match('\n' + upper_char)
1783 q = p.match('\n' + lower_char)
1787 q = p.match('\n' + upper_char)
1791 q = p.match('\n' + lower_char)
1795 q = p.match('\n' + upper_char)
1798 self.assertTrue(re.match('(?ix) ' + upper_char, lower_char))
1799 self.assertTrue(re.match('(?ix) ' + lower_char, upper_char))
1800 self.assertTrue(re.match(' (?i) ' + upper_char, lower_char, re.X))
1801 self.assertTrue(re.match('(?x) (?i) ' + upper_char, lower_char))
1802 self.assertTrue(re.match(' (?x) (?i) ' + upper_char, lower_char, re.X))
1839 self.assertRaises(TypeError, pat.match, b'b')
1840 self.assertRaises(TypeError, bpat.match, 'b')
1852 self.assertTrue(pat.match('\xe0'))
1854 self.assertTrue(pat.match('\xe0'))
1856 self.assertIsNone(pat.match('\xe0'))
1858 self.assertIsNone(pat.match('\xe0'))
1860 self.assertIsNone(pat.match('\xe0'))
1862 self.assertIsNone(pat.match('\xe0'))
1866 self.assertIsNone(pat.match(b'\xe0'))
1868 self.assertIsNone(pat.match(b'\xe0'))
1898 self.assertTrue(pat.match(bletter))
1901 self.assertTrue(pat.match(bletter))
1904 self.assertIsNone(pat.match(bletter))
1907 self.assertTrue(pat.match(bletter))
1910 self.assertTrue(pat.match(bletter))
1913 self.assertIsNone(pat.match(bletter))
1923 self.assertTrue(re.match(r'(?i:a)b', 'Ab'))
1924 self.assertIsNone(re.match(r'(?i:a)b', 'aB'))
1925 self.assertIsNone(re.match(r'(?-i:a)b', 'Ab', re.IGNORECASE))
1926 self.assertTrue(re.match(r'(?-i:a)b', 'aB', re.IGNORECASE))
1927 self.assertIsNone(re.match(r'(?i:(?-i:a)b)', 'Ab'))
1928 self.assertTrue(re.match(r'(?i:(?-i:a)b)', 'aB'))
1930 self.assertTrue(re.match(r'\w(?a:\W)\w', '\xe0\xe0\xe0'))
1931 self.assertTrue(re.match(r'(?a:\W(?u:\w)\W)', '\xe0\xe0\xe0'))
1932 self.assertTrue(re.match(r'\W(?u:\w)\W', '\xe0\xe0\xe0', re.ASCII))
2040 self.assertEqual(re.match(r"(?s).{1,3}", "\u0100\u0100").span(), (0, 2))
2045 self.assertEqual(re.match(r".{65535}", string).span(), (0, 65535))
2046 self.assertEqual(re.match(r".{,65535}", string).span(), (0, 65535))
2047 self.assertEqual(re.match(r".{65535,}?", string).span(), (0, 65535))
2048 self.assertEqual(re.match(r".{65536}", string).span(), (0, 65536))
2049 self.assertEqual(re.match(r".{,65536}", string).span(), (0, 65536))
2050 self.assertEqual(re.match(r".{65536,}?", string).span(), (0, 65536))
2151 m = r.match("xyyzy")
2160 pat.match(string='abracadabra', pos=7, endpos=10).span(), (7, 9))
2203 self.assertTrue(re.match(b'\xc5\xe5', b'\xc5\xe5', re.L|re.I))
2204 self.assertTrue(re.match(b'\xc5', b'\xe5', re.L|re.I))
2205 self.assertTrue(re.match(b'\xe5', b'\xc5', re.L|re.I))
2206 self.assertTrue(re.match(b'(?Li)\xc5\xe5', b'\xc5\xe5'))
2207 self.assertTrue(re.match(b'(?Li)\xc5', b'\xe5'))
2208 self.assertTrue(re.match(b'(?Li)\xe5', b'\xc5'))
2212 self.assertTrue(re.match(b'\xc5\xe5', b'\xc5\xe5', re.L|re.I))
2213 self.assertIsNone(re.match(b'\xc5', b'\xe5', re.L|re.I))
2214 self.assertIsNone(re.match(b'\xe5', b'\xc5', re.L|re.I))
2215 self.assertTrue(re.match(b'(?Li)\xc5\xe5', b'\xc5\xe5'))
2216 self.assertIsNone(re.match(b'(?Li)\xc5', b'\xe5'))
2217 self.assertIsNone(re.match(b'(?Li)\xe5', b'\xc5'))
2239 self.assertTrue(p.match(b'\xc5\xe5'))
2240 self.assertTrue(p.match(b'\xe5\xe5'))
2241 self.assertTrue(p.match(b'\xc5\xc5'))
2242 self.assertIsNone(p4.match(b'\xe5\xc5'))
2243 self.assertIsNone(p4.match(b'\xe5\xe5'))
2244 self.assertIsNone(p4.match(b'\xc5\xc5'))
2248 self.assertTrue(p.match(b'\xc5\xe5'))
2249 self.assertIsNone(p.match(b'\xe5\xe5'))
2250 self.assertIsNone(p.match(b'\xc5\xc5'))
2251 self.assertTrue(p4.match(b'\xe5\xc5'))
2252 self.assertIsNone(p4.match(b'\xe5\xe5'))
2253 self.assertIsNone(p4.match(b'\xc5\xc5'))
2403 self.assertEqual(re.match(r'(ab|a)*?b', 'ab').groups(), ('a',))
2404 self.assertEqual(re.match(r'(ab|a)+?b', 'ab').groups(), ('a',))
2405 self.assertEqual(re.match(r'(ab|a){0,2}?b', 'ab').groups(), ('a',))
2406 self.assertEqual(re.match(r'(.b|a)*?b', 'ab').groups(), ('a',))
2413 self.assertEqual(re.match(p, s).groups(), ('xx',))
2418 m = re.match(p, s)
2428 m = re.match(p, s)
2436 m = re.match(p, s)
2441 self.assertEqual(re.match(r'(ab?)*?b', 'ab').groups(), ('a',))
2448 m = re.match(p, s)
2455 self.assertEqual(re.match(p, s).groups(), ('xx',))
2460 self.assertEqual(re.match(r'(?!(..)c)', 'ab').groups(), (None,))
2463 m = re.match(r'((?!(ab)c)(.))*', 'abab')
2497 self.assertIsNone(re.match('e*+e', 'eeee'))
2498 self.assertEqual(re.match('e++a', 'eeea').group(0), 'eeea')
2499 self.assertEqual(re.match('e?+a', 'ea').group(0), 'ea')
2500 self.assertEqual(re.match('e{2,4}+a', 'eeea').group(0), 'eeea')
2501 self.assertIsNone(re.match('(.)++.', 'ee'))
2502 self.assertEqual(re.match('(ae)*+a', 'aea').groups(), ('ae',))
2503 self.assertEqual(re.match('([ae][ae])?+a', 'aea').groups(),
2505 self.assertEqual(re.match('(e?){2,4}+a', 'eeea').groups(),
2507 self.assertEqual(re.match('()*+a', 'a').groups(), ('',))
2510 self.assertEqual(re.match('a*+', 'xxx').span(), (0, 0))
2511 self.assertEqual(re.match('x*+', 'xxxa').span(), (0, 3))
2512 self.assertIsNone(re.match('a++', 'xxx'))
2513 self.assertIsNone(re.match(r"^(\w){1}+$", "abc"))
2514 self.assertIsNone(re.match(r"^(\w){1,2}+$", "abc"))
2516 self.assertEqual(re.match(r"^(\w){3}+$", "abc").group(1), "c")
2517 self.assertEqual(re.match(r"^(\w){1,3}+$", "abc").group(1), "c")
2518 self.assertEqual(re.match(r"^(\w){1,4}+$", "abc").group(1), "c")
2520 self.assertIsNone(re.match("^x{1}+$", "xxx"))
2521 self.assertIsNone(re.match("^x{1,2}+$", "xxx"))
2523 self.assertTrue(re.match("^x{3}+$", "xxx"))
2524 self.assertTrue(re.match("^x{1,3}+$", "xxx"))
2525 self.assertTrue(re.match("^x{1,4}+$", "xxx"))
2527 self.assertIsNone(re.match("^x{}+$", "xxx"))
2528 self.assertTrue(re.match("^x{}+$", "x{}"))
2574 self.assertIsNone(pattern1.match('abc'))
2575 self.assertTrue(pattern1.match('abcc'))
2576 self.assertIsNone(re.match(r'(?>.*).', 'abc'))
2577 self.assertTrue(re.match(r'(?>x)++', 'xxx'))
2578 self.assertTrue(re.match(r'(?>x++)', 'xxx'))
2579 self.assertIsNone(re.match(r'(?>x)++x', 'xxx'))
2580 self.assertIsNone(re.match(r'(?>x++)x', 'xxx'))
2626 self.assertEqual(re.match('(?>(?:.(?!D))+)', 'ABCDE').span(), (0, 2))
2627 self.assertEqual(re.match('(?:.(?!D))++', 'ABCDE').span(), (0, 2))
2628 self.assertEqual(re.match('(?>(?:.(?!D))*)', 'ABCDE').span(), (0, 2))
2629 self.assertEqual(re.match('(?:.(?!D))*+', 'ABCDE').span(), (0, 2))
2630 self.assertEqual(re.match('(?>(?:.(?!D))?)', 'CDE').span(), (0, 0))
2631 self.assertEqual(re.match('(?:.(?!D))?+', 'CDE').span(), (0, 0))
2632 self.assertEqual(re.match('(?>(?:.(?!D)){1,3})', 'ABCDE').span(), (0, 2))
2633 self.assertEqual(re.match('(?:.(?!D)){1,3}+', 'ABCDE').span(), (0, 2))
2635 self.assertEqual(re.match("(?>(?:ab?c)+)", "aca").span(), (0, 2))
2636 self.assertEqual(re.match("(?:ab?c)++", "aca").span(), (0, 2))
2637 self.assertEqual(re.match("(?>(?:ab?c)*)", "aca").span(), (0, 2))
2638 self.assertEqual(re.match("(?:ab?c)*+", "aca").span(), (0, 2))
2639 self.assertEqual(re.match("(?>(?:ab?c)?)", "a").span(), (0, 0))
2640 self.assertEqual(re.match("(?:ab?c)?+", "a").span(), (0, 0))
2641 self.assertEqual(re.match("(?>(?:ab?c){1,3})", "aca").span(), (0, 2))
2642 self.assertEqual(re.match("(?:ab?c){1,3}+", "aca").span(), (0, 2))
2646 self.assertEqual(re.match('((x)|y|z)*+', 'xyz').groups(), ('z', 'x'))
2647 self.assertEqual(re.match('((x)|y|z){3}+', 'xyz').groups(), ('z', 'x'))
2648 self.assertEqual(re.match('((x)|y|z){3,}+', 'xyz').groups(), ('z', 'x'))
2698 p.match(string)
3014 self.assertIsNone(re.match(r".{%d}" % (MAXREPEAT - 1), string))
3015 self.assertEqual(re.match(r".{,%d}" % (MAXREPEAT - 1), string).span(),
3017 self.assertIsNone(re.match(r".{%d,}?" % (MAXREPEAT - 1), string))
3043 self.assertTrue(p.match(s))
3047 self.assertTrue(p.match(s2, 10000))
3048 self.assertTrue(p.match(s2, 10000, 10000 + len(s)))