黑马程序员技术交流社区
标题:
正则表达式问题
[打印本页]
作者:
hanrongle
时间:
2013-8-14 10:59
标题:
正则表达式问题
import java.util.*;
class TelNumber
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String tel = in.next();
CheckTel(tel);
}
public static void CheckTel(String tel)
{
String reg = "1[358]//d{9}\r\n";
if(!(tel.matches(reg)))
{
System.out.println("您输入的号码有误!");
}
}
}
复制代码
这个程序是从键盘输入电话号码,通过正则表达式判断是否合法。但是有问题,如何修改呢?
作者:
薛鹏鹏
时间:
2013-8-14 11:18
本帖最后由 薛鹏鹏 于 2013-8-14 11:20 编辑
正则写错了
String reg = "1[358]\\d{9}";
import java.util.*;
class Test2
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("请输入电话号码");
String tel = in.next();
CheckTel(tel);
}
public static void CheckTel(String tel)
{
String reg = "1[358]\\d{9}";
if(tel.matches(reg))
System.out.println("输入正确");
else
System.out.println("您输入的号码有误!");
}
}
复制代码
作者:
杨增坤
时间:
2013-8-14 13:26
你正则表达式也错了,上一楼也的正则表达式是正确的,String reg = "1[358]\\d{9}";
你的后面不需要加\r\n,因为你的电话号码中不可能有\r\n,你的意思我感觉是考虑到换行吧,
在你用next();输入的时候,输入完毕后,会默认的读取你输入的,不会考虑你点击的回车!
希望对i有帮助!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2