例如,我有以下正则表达式:
60 [FP] LP [FP] XXXXXX
现在需要所有可能的组合,在这种情况下:
60的˚F LP的˚F XXXXXX
60的˚F LP的 P XXXXXX
60的 P LP的˚F XXXXXX
60的 P LP的 P XXXXXX
输入RegEx长度为12个字符,由大写字母[A-Z]和数字[0-9]
组成答案 0 :(得分:2)
我找到了解决方案。使用rexgen工具(https://github.com/teeshop/rexgen)可以从给定的正则表达式生成所有组合:)
$ rexgen 60[FP]LP[FP]XXXXXX
60FLPFXXXXXX
60PLPFXXXXXX
60FLPPXXXXXX
60PLPPXXXXXX
答案 1 :(得分:1)
正则表达式模式定义了一组字符串,因此理论上可以使用它来生成集合中的字符串列表,但它们并不意味着这样做。我不确定某人是否写了一个模块来做这件事。
另一方面,一个glob被设计成完全按照你想要的那样做。你可以改用glob吗?
say while glob('60{F,P}LP{F,P}XXXXXX');