2011-12-14 6 views
3

単純な正規表現があるとします(|と*のみが許されます)。 Scalaでこの正規表現にマッチする任意のサイズの文字列(小さい方から大きい方へ)のストリームをどのように作成しますか?Scalaでregexpで文字列を生成する方法

+0

*ゼロ個以上が、何の多くを意味? | ORを意味する。あなたは少なくともaが必要です。各文字や特定の文字にも一致するようにします。 –

+0

はい、特定の文字が使用できます。 a、b(with *と|) – Michael

答えて

4

Xegerを使用してください。 JavaでありScalaではありませんが、Scalaで使用するには問題ありません。 Javaでは

String regex = "[ab]{4,6}c"; 
Xeger generator = new Xeger(regex); 
String result = generator.generate(); 
assert result.matches(regex); 
+0

'(only |と*は許されます)'のようには見えません。 –

関連する問題