您的位置:首页 > 编程语言 > Java开发

《java入门第一季》之好玩的正则表达式

2016-05-11 12:52 501 查看
先不通过正则表达式来判断输入的qq号码是否正确。
import java.util.Scanner;

/*
* 校验qq号码.
* 		1:要求必须是5-15位数字
* 		2:0不能开头
*
* 分析:
* 		A:键盘录入一个QQ号码
* 		B:写一个功能实现校验
* 		C:调用功能,输出结果。
*/
public class RegexDemo {
public static void main(String[] args) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的QQ号码:");
String qq = sc.nextLine();

System.out.println("checkQQ:"+checkQQ(qq));
}

/*
* 写一个功能实现校验
*/
public static boolean checkQQ(String qq) {
boolean flag = true;

// 校验长度
if (qq.length() >= 5 && qq.length() <= 15) {
// 0不能开头
if (!qq.startsWith("0")) {
// 必须是数字
char[] chs = qq.toCharArray();
for (int x = 0; x < chs.length; x++) {
char ch = chs[x];//每一个字符
if (!Character.isDigit(ch)) {
flag = false;
break;
}
}
} else {
flag = false;
}
} else {
flag = false;
}

return flag;
}
}


接着,正则表达式来做校验。

import java.util.Scanner;

/*
* 正则表达式:符合一定规则的字符串。
*/
public class RegexDemo2 {
public static void main(String[] args) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的QQ号码:");
String qq = sc.nextLine();

System.out.println("checkQQ:" + checkQQ(qq));
}

public static boolean checkQQ(String qq) {

return qq.matches("[1-9]\\d{4,14}");//括号里面就是正则表达式的规则。\d代表[0-9]。要在正则表达式中表示\d要写成\\d

}
}


可见,使用了正则表达式,一行就代表了上边很多行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: