最近有个项目关于手机靓号及用户搜索想要关键数字的手机号
1. 手机靓号规则匹配 - PHP正则匹配
2. 关键字位搜索 - MYSQL LIKE 使用
靓号规则如下
AAAB、AAA、ABC、ABCD、AABB、ABAB
正则表达式
$exp = [ // 手机靓号正则表达式
'AAAB' => '/([\d])\1{2}/',
'ABCD' => '/(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){3})\d/',
'AABB' => '/(\d)\1(\d)\2/',
'ABAB' => '/(\d)(\d)\1\2/',
'ABC' => '/(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}|(?:9(?=8)|8(?=7)|7(?=6)|6(?