Мне нужно определить, где в строке re.match
прекращено сопоставление;для упрощенного примера:
import re
abc = re.compile(r"[ab]+c$")
m = abc.match("baac")
# Matches, yay!
f1 = abc.match("badc")
# Match fails at index 2
# I.e. the string is actively rejected
f2 = abc.match("babb")
# Match fails after the end of the string
# I.e. the string is consumed before a match is accepted, but it wasn't rejected
Я пытаюсь программно различать режимы сбоя f1
и f2
, чтобы выяснить, может ли строка быть началом потенциального совпадения или может управляться
Обновление: я знаю re.match
не говорит мне, почему оно не совпадает, я пытаюсь выяснить, как каким-то образом получить эту информацию из базового движка