| 2133 | self.assertRegex(repr(second), pattern) |
| 2134 | |
| 2135 | def test_zerowidth(self): |
| 2136 | # Issues 852532, 1647489, 3262, 25054. |
| 2137 | self.assertEqual(re.split(r"\b", "a::bc"), ['', 'a', '::', 'bc', '']) |
| 2138 | self.assertEqual(re.split(r"\b|:+", "a::bc"), ['', 'a', '', '', 'bc', '']) |
| 2139 | self.assertEqual(re.split(r"(?<!\w)(?=\w)|:+", "a::bc"), ['', 'a', '', 'bc']) |
| 2140 | self.assertEqual(re.split(r"(?<=\w)(?!\w)|:+", "a::bc"), ['a', '', 'bc', '']) |
| 2141 | |
| 2142 | self.assertEqual(re.sub(r"\b", "-", "a::bc"), '-a-::-bc-') |
| 2143 | self.assertEqual(re.sub(r"\b|:+", "-", "a::bc"), '-a---bc-') |
| 2144 | self.assertEqual(re.sub(r"(\b|:+)", r"[\1]", "a::bc"), '[]a[][::][]bc[]') |
| 2145 | |
| 2146 | self.assertEqual(re.findall(r"\b|:+", "a::bc"), ['', '', '::', '', '']) |
| 2147 | self.assertEqual(re.findall(r"\b|\w+", "a::bc"), |
| 2148 | ['', 'a', '', '', 'bc', '']) |
| 2149 | |
| 2150 | self.assertEqual([m.span() for m in re.finditer(r"\b|:+", "a::bc")], |
| 2151 | [(0, 0), (1, 1), (1, 3), (3, 3), (5, 5)]) |
| 2152 | self.assertEqual([m.span() for m in re.finditer(r"\b|\w+", "a::bc")], |
| 2153 | [(0, 0), (0, 1), (1, 1), (3, 3), (3, 5), (5, 5)]) |
| 2154 | |
| 2155 | def test_bug_2537(self): |
| 2156 | # issue 2537: empty submatches |