私が取り組んでいるプロジェクトでテストする目的で、正規表現が与えられた場合、一致するのに失敗する文字列をランダムに生成する必要があります。たとえば、この正規表現が与えられた場合:
^[abcd]d+
次に、次のような文字列を生成できるはずです。
hnbbad
uduebbaef
9f8;djfew
skjcc98332f
...それぞれが正規表現と一致しませんが、生成しません:
addr32
bdfd09usdj
cdddddd-9fdssee
...それぞれが行います。つまり、対Xegerみたいなものが欲しい。
そのようなライブラリは、できればPythonで存在しますか(理論を理解できれば、必要に応じてPythonに変換できます)?これをどのように書けばよいか少し考えてみましたが、正規表現の範囲を考えると、Xeger のようなものが取り組むよりもはるかに難しい問題のように思えました。これを行うために事前に作成されたライブラリも探しましたが、検索に適切なキーワードを使用していないか、以前にこの問題が発生したことはありません。