Возможная ошибка с нечетким соответствием в библиотеке Python regex? - PullRequest
0 голосов
/ 16 апреля 2020

Обнаружено это поведение с нечетким соответствием:

import regex
regex.search('(?e)(AB+CD+F){e<=2}','ABCF')
regex.search('(?e)(AB+CD+F){e<=2}','ACDF')

первый поиск по регулярному выражению возвращает None, а второй возвращает совпадение с нечетким счетом (0,0,1). Также заметил, что если я значительно увеличу количество допустимых ошибок, первая начнет возвращать результат, но это зависит от длины текста:

regex.search(r'(?e)(AB+CD+F){e<=5}','ABCF')
regex.search(r'(?e)(AB+CD+F){e<=5}','ABCFE')

возвращает нечеткие значения (2,0,2) и (3,0,2).

Проблема исчезнет, ​​если я изменю шаблон регулярного выражения на эквивалентный:

regex.search('(?e)(AB+CDD*F){e<=2}','ABCF')

с нечетким числом (0,0,1).

Это ошибка или функция?

...