Tworzenie rozmytych wyjątków pasujących z nowym modułem regex Pythona

Testuję nowy pythonregex moduł, który pozwala na dopasowanie ciągów rozmytych i jak dotąd był pod wrażeniem jego możliwości. Jednak miałem problemy z ustalaniem wyjątków z dopasowaniem rozmytym. Oto przykładowy przypadek. chcęST LOUISi wszystkie odmianyST LOUIS w odległości edycji od 1 do dopasowaniaref. Chcę jednak zrobić jeden wyjątek od tej reguły: edycja nie może składać się z wstawki po lewej stronie znaku po lewej stronie zawierającego literyN, S, ElubW. W poniższym przykładzie chcę, aby wejścia 1 - 3 pasowały do ​​ref, a wejście 4 do niepowodzenia. Jednak korzystając z poniższychref powoduje, że pasuje do wszystkich czterech wejść. Czy ktoś, kto zna nowy moduł wyrażeń regularnych, wie o możliwym obejściu?

input1 = 'ST LOUIS'
input2 = 'AST LOUIS'
input3 = 'ST LOUS'
input4 = 'NST LOUIS'


ref = '([^NSEW]|(?<=^))(ST LOUIS){e<=1}'

match = regex.fullmatch(ref,input1)
match
<_regex.Match object at 0x1006c6030>
match = regex.fullmatch(ref,input2)
match
<_regex.Match object at 0x1006c6120>
match = regex.fullmatch(ref,input3)
match
<_regex.Match object at 0x1006c6030>
match = regex.fullmatch(ref,input4)
match
<_regex.Match object at 0x1006c6120>

questionAnswers(1)

yourAnswerToTheQuestion