Ron*_*nIL 2 regex perl data-generation
我是perl的新手,我想知道是否有一种方法可以生成所有匹配正则表达式的组合.
生成所有匹配字符串的最佳方法是:
05[0,2,4,7][\d]{7}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
虽然你不能只采取任何正则表达式并产生任何可能适合的字符串,但在这种情况下,你可以很容易地适应和克服.
您可以glob用来生成组合:
perl -lwe "print for glob '05{0,2,4,7}'"
050
052
054
057
Run Code Online (Sandbox Code Playgroud)
但是,我不应该告诉你,\d{7}实际上意味着几百万种组合,对吗?生成数字列表很简单,格式化它们可以通过以下方式完成sprintf:
my @nums = map sprintf("%07d", $_), 0 .. 9_999_999;
Run Code Online (Sandbox Code Playgroud)
假设你只是在寻找0-9的数字.
把那些nums与它们结合起来:Tada.