簡體   English   中英

如何從RegEx(正則表達式)生成所有組合?

[英]How I can generate all combinations from RegEx (regular expression)?

例如,我有以下正則表達式:

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個字符,由大寫字母[AZ]和數字[0-9]組成

我找到了解決方案。 使用工具rexgen( https://github.com/teeshop/rexgen ),可以從給定的正則表達式生成所有組合:)

$ rexgen 60[FP]LP[FP]XXXXXX
60FLPFXXXXXX
60PLPFXXXXXX
60FLPPXXXXXX
60PLPPXXXXXX

正則表達式模式定義了一組字符串,因此從理論上講,可以使用它來生成該組字符串列表,但這並不是要這樣做。 我不確定是否有人編寫了一個模塊來做到這一點。

另一方面,一個glob旨在完全按照您的要求進行。 您可以改用glob嗎?

say while glob('60{F,P}LP{F,P}XXXXXX');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM