perl - 从字符列表生成单词
问题描述
我问了这个问题,我意识到我问错了,尽管@Zdim 提供的答案正是我所问的:所以现在我需要稍微改变一下这个问题。
my $str = 'aaaa';
print $str++, $/ while $str le 'dddd';
因此,上面的代码执行了从aaaa
到dddd
的每个组合,例如:
aaaa
aaab
aaac
...
daaa
...
dddd
但是,我们需要生成给定字符集的所有可能组合。它们是数字、特殊字符还是字母字符。所以如果我告诉脚本最小值2
和最大值是4
字母单词,我给出一个输入字符串:
abcdefG1234%#@
然后它将生成:
aa
aaa
aaaa
bb
aaab
bbbb
@@@@
abc@
ab@1
...
所以它应该使用每个字符并创建从最小2
字符到最大4
字符的每个可能的组合。
因此,即使我给出了整个字母数字和特殊字符,它也会在2
to4
字符范围内创建每个可能的单词或字符串。
如果我们举这个glob
例子,它很接近,但它只会做所有 4 的集合,而不是来自2
,然后3
和然后的所有组合4
print, while glob '{A,B,C,D,#,@,a,d,e,f}'x4
解决方案
for my $i (2..4) {
say while glob '{A,B,C,D,#,@,a,d,e,f}' x $i;
}
推荐阅读
- javascript - 将预先格式化的文本更改为 javascript 对象
- java - Child[] 不能传递给接受 Parent[] 的方法。为什么?
- php - 如何分解/分组php方法
- python - zsh 命令未找到:升级到 Catalina 甚至重新安装 Anaconda 后的 conda
- javascript - 如何在我的网络应用程序中获得右键单击事件
- php - 当我尝试运行下面的代码时出现错误,为什么 foreach 循环不起作用?
- python - 在这个 python 代码中,为什么在字符串中有 {1}、{0} 和 {2} 的值?
- python - 尝试从数字列表创建字典,但列表索引超出范围
- r - R中套索、弹性网和岭回归的不同惩罚函数
- r - 在 R 中使用 sort() 或 order() 对因子进行排序