用java从给定范围生成加拿大邮政编码

用java从给定范围生成加拿大邮政编码,java,utility,Java,Utility,我已经搜索了一段时间,但没有找到任何解决方案。例如,如果给定的范围类似于[A0A0A0-A0P1M9]-它应该给出给定范围内所有可能的有效加拿大邮政编码。蒂亚 例如: 输入来源:A0 输入到:A0A4 输出:a0a0、a0a1、a0a2、a0a3、a0a4我将根据混合的base-10和base-26系统将可能的字符串代码转换为连续数字,将字符的值乘以位置相关系数: 字符0由10*26*10*26*10 字符1由26*10*26*10 字符2由10*26*10 字符3由26*10 字符4由10

我已经搜索了一段时间,但没有找到任何解决方案。例如,如果给定的范围类似于[A0A0A0-A0P1M9]-它应该给出给定范围内所有可能的有效加拿大邮政编码。蒂亚

例如: 输入来源:A0 输入到:A0A4
输出:a0a0、a0a1、a0a2、a0a3、a0a4

我将根据混合的base-10和base-26系统将可能的字符串代码转换为连续数字,将字符的值乘以位置相关系数:

  • 字符0由
    10*26*10*26*10
  • 字符1由
    26*10*26*10
  • 字符2由
    10*26*10
  • 字符3由
    26*10
  • 字符4由
    10
  • 字符5由
    1
通常,我会将A..Z表示为0..25,只是(为了避免在第一个位置缺少W和Z字符时出现间隙),我会在该位置调整映射

然后,我将产生两个转换极限之间的所有数字,并使用反向方案将它们转换回来


请注意,在最坏的情况下,A0A0A0..Y9Z9Z9您将获得1600万个字符串。

如果您也想从非加拿大人那里得到答案,您应该向我们提供一份描述加拿大邮政编码系统的参考资料。为了遵守本网站的规则,你应该描述你到目前为止尝试了什么以及遇到了什么问题。当然。加拿大邮政编码长度为6,由字符和数字组成。它类似于正则表达式“^(?。*[DFIOQU])[A-VXY][0-9][A-Z]?[0-9][A-Z][0-9]$”例如,“从A0A0到A0A0B0”是否包括A0A9?或者它只是A0和A0B0?是的,它包括。包括从和到给定。例如:从A0A0A0到A0B0“输出:A0A0A0,A0A0A1…..A0A0A9,A0B0