2024-04-24 11:30:40 发布
网友
a.是否存在以下代码会导致 断言错误?你知道吗
b.如果是这样,我如何防止?你知道吗
def finditer_test(pattern, string, flags=0): for match_object in re.finditer(pattern, string, flags): assert re.match(pattern, match_object.group(0), flags)
是的,这是可能的-例如,如果正则表达式使用的lookaround assertions超出了匹配本身的边缘:
(?<= )bar(?= )
将匹配bar中的"foo bar baz",但不匹配"bar"(即group(0))。你知道吗
bar
"foo bar baz"
"bar"
group(0)
是的,它可能会失败,例如当模式包含前瞻断言时。你知道吗
检查finditer_test(r'a(?=b)', 'abc')
finditer_test(r'a(?=b)', 'abc')
是的,这是可能的-例如,如果正则表达式使用的lookaround assertions超出了匹配本身的边缘:
将匹配
bar
中的"foo bar baz"
,但不匹配"bar"
(即group(0)
)。你知道吗是的,它可能会失败,例如当模式包含前瞻断言时。你知道吗
检查
finditer_test(r'a(?=b)', 'abc')
相关问题 更多 >
编程相关推荐