我有一堆电话号码,我希望能够判断一个号码看起来是"有趣".我的意思是,一个重复数字的数字.例如:
822222222
822333444
822222999
Run Code Online (Sandbox Code Playgroud)
基本上,822 +两组三个相同的数字.
我用JAVA这样做,到目前为止我有这个:
if (number.matches("^((822|654|611)\\d{3}\\d{3})$"))
Run Code Online (Sandbox Code Playgroud)
这显然匹配这些数字,但它也匹配:
822315487
Run Code Online (Sandbox Code Playgroud)
这不是一个特殊的号码.(不要注意654和611号码,我也需要考虑这些.)
我怎么能这样做?如何构造匹配相同数字3次的正则表达式?
核心问题是\d匹配任何数字,所以你说的是任何数字的3倍,而不是相同数字的3倍.所以你需要捕获那个数字,然后重复两次.
^822(\d)\1{2}(\d)\2{2}$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |