したがって、次のような単純な正規表現がある場合:
"g{1,3}(a|e|i|o|u)"
プログラムで文字列を生成したい
ga
ge
gi
go
gu
gga
gge
ggi
ggo
ggu
ggga
ggge
gggi
gggo
gggu
「g*(a|e|i|o|u)」は正規表現には使用しません。無限の数の「g」が存在する可能性があり、無限の数の文字列が存在するためです。
これを行うための単純で効率的なアルゴリズムに関する推奨事項はありますか? for/while ループを使用してこれらの文字列を力ずくで作成できると思いますが、このアルゴリズムを機能させるために使用できる方法があるかどうか疑問に思っています。
正規表現から文字列を作成する方法をグーグルで調べたところ、多くの人が https://code.google.com/p/xeger/にリダイレクトし て、構築されたライブラリを使用しているように見えましたが、いくつかの提案を得ることができるかどうか疑問に思っていましたこれらの単純な正規表現については私自身のものです。