【发布时间】:2012-02-02 12:57:24
【问题描述】:
这是my previous question的后续行动。
假设我想生成匹配给定(简化)正则表达式的 all 字符串。
这只是一个编码练习,我没有任何额外的要求(例如实际生成了多少个字符串)。所以主要要求是生成漂亮、干净、简单的代码。
我考虑过使用Stream,但在阅读this question 之后,我正在考虑使用Iterator。你会用什么?
【问题讨论】:
-
在您输入
*的那一刻,您将产生无限(而且非常无聊)的输出。 -
好的,假设它是一个非常受限的语法(
a,b,sequence,alternate,zero or more) -
你仍然可以在正则表达式中使用
*,你只需要一个更复杂的算法,不会卡在重复添加字符上。例如,如果你有[a-z]*[ab],你可以生成a b aa ab ba bb ca cb ... za zb aaa aab...
标签: regex algorithm scala stream iterator