正则表达式

本文详细介绍了正则表达式在Java中的使用,包括概述、判断功能、组成规则、邮箱校验、字符串分割、数字排序、数组操作及替换功能。重点讲解了Pattern和Matcher的使用,提供多个实例演示。
摘要由CSDN通过智能技术生成

正则表达式

正则表达式的概述和简单使用

A:正则表达式:正确规则的表达式 规则java给我们定的
是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。
B:案例演示
需求:校验qq号码.
1:要求必须是5-15位数字
2:0不能开头

a:非正则表达式实现

b:正则表达式实现 

案例一:

	private static boolean checkQQ(String numQQ) {
	// 校验位数
	boolean b = false;
	// 判断长度
	if (numQQ.length() >= 5 && numQQ.length() <= 15) {
		// 判断开头不能为0
		if (!(numQQ.startsWith("0"))) {
			// 判断每一位是不是数字
			for (int i = 0; i < numQQ.length(); i++) {
				char ch = numQQ.charAt(i);
				if (ch >= '0' && ch <= '9') {

					b = true;
				} else {
					b = false;
					break; //一旦遇到不是数字的,就结束循环

				}

			}

		} else {

			b = false;
		}

	} else {

		b = false;
	}

	return b;
}
import java.util.Scanner;
public class MyTest {
    public static void main(String[] args) {
        //正则表达式:正确规则的表达式,他是一个独立的语法,很多语言都支持,他的作用就是用来校验,一段数据符不符合我定义的规则
        //
        //B:
        //案例演示
        //需求:校验qq号码.
        //1:要求必须是5 - 15 位数字
        //2:0 不能开头
        //
        //a:
        //非正则表达式实现
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的QQ号码");
        String qqNum = sc.nextLine();
       // boolean b = checkQQNum(qqNum);

        boolean b = checkQQNum2(qqNum);
        if (b) {
            System.out.println("QQ号码规则正确");
        } else {
            System.out.println("QQ号码规则有误");
        }

    }

    private static boolean checkQQNum2(String qqNum) {
        //定义一个正则表达式
        String regx="[1-9][0-9]{4,14}";
        boolean matches = qqNum.matches(regx);
        return matches;
    }

    private static boolean checkQQNum(String qqNum) {
        //1:要求必须是5 - 15 位数字
        //2:0 不能开头
        //定义一个标记
        boolean flag = false;
        //校验位数
        if (qqNum.length() >= 5 && qqNum.length() <= 15 && !qqNum.startsWith("0")) {
            //下来校验每个位数是否是数字
            for (int i = 0; i < qqNum.length(); i++) {
                char ch = qqNum.charAt(i);
                if (ch >= '0' && ch <= '9') {
                    flag = true;
                } else {
                    flag = false;
                    break;//终止循环
                }
            }
        } else {
            flag = false;
        }
        return flag;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值