値を正規表現と比較して一致するかどうかを確認する関数を作成しようとしています。問題は、範囲が1つだけ異なる類似した正規表現が非常に多くあることです。{}
たとえば 、範囲^[a-z]{0,500}$
/^[a-z]{0,200}$
繰り返しの違いだけで類似した正規表現です。これらの正規表現を 1 つの関数で処理する方法の問題を解決しようとしています。これまでのところ、その関数を書きました。しかし、以下で行ったことよりもはるかに優れたオプションがあるに違いないと思います。最大値または最小値が指定されていない場合も処理できるはずです。
def check(value, min=None, max=None):
regex = "^[a-z]"+"{"+min+","+max+"}$"
r= re.compile(regex)
if r.match(value):
return True
else:
return False