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

本文关键字:有可能 结果 RegEx 模式 获取 | 更新日期: 2023-09-27 18:28:27

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

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

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

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

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

['s'S]*

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

如果你想生成可能的字符串,你将从头开始写,我会认真质疑你为什么这么做。这听起来像是X/Y问题。