获取RegEx模式的所有可能结果

时间:2015-12-30 16:46:11

标签: c# regex

我正在尝试使用C#中的RegEx类来解决这个问题:

给定RegEx模式,比如说"RK[0-2]{2}",返回一个包含与模式匹配的所有字符串的列表,例如 [RK00, R01, RK02, RK10, RK11, RK12, RK20, RK21, RK22]

查看RegEx文档,似乎它只能判断给定字符串是否匹配模式或查找字符串中所有模式的出现。但是我没有找到RegEx可以从输入模式中生成字符串的位置。

1 个答案:

答案 0 :(得分:1)

一般来说,他们不能。正则表达式用于匹配输入字符串,而不是生成它们;尝试生成可能的输入字符串也可能变得无限复杂。例如,以下正则表达式

MyClass::MyClass()
{
    ...

    connect( ui->pushButton, SIGNAL(clicked()), this, SLOT(DrawingSimulation()) );
}

这将完全匹配任何字符串。因此,它会生成一个有效的无限结果集。

如果您想要生成可能的字符串,那么您将从头开始编写它,我会严肃地质疑您为什么要这样做。这有点像X / Y问题。