前言:
今天,项目中对于号码搜索那一块,移动那边要求能相对比较个性化一些,比如增加这么一个功能:
内网用户能够设置规则(AAAA、ABCD、_ABC……),外网用户可以通过这些规则进行模式匹配。这里,
我需要解释一下所谓的规则:ABCD的代表递增的4个数字、AAAA代表4个同样的数字、_代表占位符表示0~9的数字
比如:比如:ABCD返回0123、1234、2345、3456、4567、5678、6789
AAAA返回0000、1111、2222、3333、4444...9999
ABC_返回012_、012_... 678_、789_
实现过程:
下面通过java语言进行简单的实现
/**
* 手机号码规则模式匹配的所有匹配串<p>
* 比如:ABCD返回0123、1234、2345、3456、4567、5678、6789<p>
* AAAA返回0000、1111、2222、3333、4444...9999<p>
* ABC_返回012_、012_... 678_、789_<p>
* 解释:ABCD的代表递增的4个数字、AAAA代表4个同样的数字、_代表占位符表示0~9的数字<p>
* @param pattern 输入字母模式:最多8位,字母必须有A,比如ABC、DCBA<p>
* @return 返回需要数据库匹配串,null表示输入的