我测试了新的蟒蛇正则表达式模块,允许模糊字符串匹配,至今留下深刻印象的能力。 不过,我一直有麻烦一些例外与模糊匹配。 下面是一个很好的例子。 我想ST LOUIS
,和所有变化ST LOUIS
1的编辑距离之内以配合ref
。 不过,我想打一个例外:编辑不能由一个插入包含字母最左边的字符左边的N
, S
, E
,或W
。 用下面的例子,我想输入1 - 3匹配ref,将输入端4的失败。 但是,使用下面的ref
导致其匹配到所有四个输入。 有谁谁是熟悉新的正则表达式模块知道可能的解决方法呢?
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>