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


    先不通过正则表达式来判断输入的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
    		
    	}
    }

    可见,使用了正则表达式,一行就代表了上边很多行。




  • 相关阅读:
    CAS 5.X 安装
    《从0到1》开启商业和未来的秘密
    阿里Java开发规约插件使用
    【Effective Java】阅读
    Java8 流的使用示例
    我对线程安全的理解
    APP微信支付实现
    如何将微信上传AMR格式语音转化为MP3格式
    如何在下载文件前确定文件名
    寻找水王1
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299818.html
Copyright © 2020-2023  润新知