ファジー文字列マッチングを可能にする新しい python regexモジュールをテストしており、これまでのところその機能に感銘を受けています。ただし、あいまい一致で特定の例外を作成するのに問題がありました。以下はその一例です。、および編集距離 1 以内のST LOUIS
すべてのバリエーションが一致するようにします。ただし、この規則には 1 つの例外を設けたいと思います。編集は、文字、、、または. 次の例では、入力 1 ~ 3 を ref に一致させ、入力 4 を失敗させます。ただし、以下を使用してST LOUIS
ref
N
S
E
W
ref
4 つの入力すべてに一致させます。新しい正規表現モジュールに精通している人は、可能な回避策を知っていますか?
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>