java正则表达式 匹配%号_java正则表达式匹配带有括号的电话号为什么匹配不上...

最近在学习正则表达式,尝试着同事匹配三种不同的电话号,类似如下:

(012)-79461234

012-79461234

01279461234

我写的匹配方式:

\(?0\d{2}[) -]?\d{8}

java代码如下

@Test

public void test3()

{

String REGEX= "\\(?0\\d{2}[) -]?\\d{8}";

String REGEX2="0\\d{2}-?\\d{8}";

String INPUT="(012)-79461234";

String INPUT2="012-79461234";

String INPUT3="01279461234";

Pattern p=Pattern.compile(REGEX2);

Matcher m1=p.matcher(INPUT);

Matcher m2=p.matcher(INPUT2);

Matcher m3=p.matcher(INPUT3);

if (m1.find())

{

System.out.println("star : "+m1.start());

System.out.println("end : "+m1.start());

System.out.println("m1匹配");

}

else

{

System.out.println("m1未匹配");

}

if (m2.find())

{

System.out.println("star : "+m2.start());

System.out.println("end : "+m2.end());

System.out.println("m2匹配");

}

if (m3.find())

{

System.out.println("star : "+m3.start());

System.out.println("end : "+m3.start());

System.out.println("m3匹配");

}

}

但是第一种始终显示未匹配,请教各位问题出在了那里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值