我正在测试新的Python regex模块,它允许进行模糊字符串匹配,并且我对其功能印象深刻。然而,我在进行一些带有模糊匹配的特殊情况时遇到了困难。以下是一个例子。我想要
ST LOUIS
和所有编辑距离为1的ST LOUIS
变体都与ref
匹配。但是,我想做一个例外:编辑不能包括在字母N
、S
、E
或W
的最左边的字符左侧插入。在下面的示例中,我希望输入1-3与ref匹配,而输入4无法匹配。但是,使用下面的ref
会导致所有四个输入都与其匹配。是否有了解新regex模块可行解决方法的人?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>
(?<=[^NSEW]|^)(ST LOUIS){e<=1}
吗? - Anirudha