def test_lookbehind(self):
self.assertTrue(re.match(r'ab(?<=b)c', 'abc'))
self.assertIsNone(re.match(r'ab(?<=c)c', 'abc'))
self.assertIsNone(re.match(r'ab(?<!b)c', 'abc'))
self.assertTrue(re.match(r'ab(?<!c)c', 'abc'))
# Group reference.
with check_warnings(('', RuntimeWarning)):
re.compile(r'(a)a(?<=\1)c')
# Named group reference.
with check_warnings(('', RuntimeWarning)):
re.compile(r'(?P<g>a)a(?<=(?P=g))c')
# Conditional group reference.
with check_warnings(('', RuntimeWarning)):
re.compile(r'(a)b(?<=(?(1)b|x))c')
# Group used before defined.
with check_warnings(('', RuntimeWarning)):
re.compile(r'(a)b(?<=(?(2)b|x))(c)')
评论列表
文章目录