有没有办法获得正则表达式模式的所有可能结果?

eta*_*oft 5 javascript regex jquery

有没有办法获得正则表达式模式的所有可能结果?我见过的所有内容都是指针对字符串进行评估的模式.但我需要的是拥有这样的模式:

^EM1650S(B{1,2}|L{1,2})?$
Run Code Online (Sandbox Code Playgroud)

生成所有可能的匹配:

EM1650S
EM1650SB
EM1650SBB
EM1650SL
EM1650SLL
Run Code Online (Sandbox Code Playgroud)

060*_*002 1

在这个特殊情况下,是的。正则表达式生成有限数量的有效字符串,因此可以对它们进行计数。

您只需要解析正则表达式即可。其中 ( EM1650S) 的某些部分是强制性的,因此请考虑其余部分。按|(或)符号解析。然后枚举其两侧的字符串。然后你就可以得到它们所有可能的组合。

某些正则表达式(包含*+符号)可以表示无限多个字符串,因此无法对它们进行计数。

  • 手动生成列表可能比编写代码来解析正则表达式并生成输出更容易。 (2认同)