二楼的正则表达式是正确的,测试程序如下:- public class RegexAsk
- {
- public static void main(String[] args)
- {
- String tel = "13939088888";
- String telReg = "[1][3458][\\d]{4}(\\d){5}";
- System.out.println(tel.matches(telReg));
- }
- }
复制代码 结果为:true
[1]: 表示该位上是数字1
[3458]:表示该位上是数字3或者5或者4或者8
[\\d]{4}: \d表示该位上的数字是0-9中的任意一个,由于在正则表达式中\是特殊字符,要向让它成为普通字符,需要在其前面加上转义字符\,因此此处出现了两个\,{4}指的是连续4位上都符合规则\d。
(\\d){5} : ()表示将括号内的规则封装成 组, 封装它是为了在后面重用,{5}表示组中的规则被重用了5次。
|