JAVA中的正则表达式

语法示例:

    1. [abc]:代表a或者b,或者c字符中的一个。
    2. [^abc]:代表除a,b,c以外的任何字符。
    3. [a-z]:代表a-z的所有小写字符中的一个。
    4. [A-Z]:代表A-Z的所有大写字符中的一个。
    5. [0-9]:代表0-9之间的某一个数字字符。
    6. [a-zA-Z0-9]:代表a-z或者A-Z或者0-9之间的任意一个字符。
    7. [a-dm-p]:a 到 d 或 m 到 p之间的任意一个字符。

例子:

public class Demo {
    public static void main(String[] args) {
        String s="a";
        System.out.println(s.matches("[abc]"));//true
        System.out.println(s.matches("[^abc]"));//false
        System.out.println(s.matches("[a-c]"));//true
        System.out.println("======================");
        s="abc";
        System.out.println(s.matches("[abc]"));//false
        System.out.println(s.matches("[^abc]"));//false
        System.out.println(s.matches("[a-c]"));//false
    }
}


语法示例:

	1. &&:并且
	2. | :或者
	3. \ :转义字符

例子:

public class Demo{
    public static void main(String[] args) {
        String s="aad";
        //1.要求字符串是小写辅音字符开头,后跟ad
        System.out.println(s.matches("[a-z&&[^aeiou]]ad"));//false

        //2.要求字符串是aeiou中的某个字符开头,后跟ad
        System.out.println(s.matches("[a|e|i|o|u]ad"));//true
    }
}


语法示例:

    1. "." : 匹配任何字符。
    2. "\d":任何数字[0-9]的简写;
    3. "\D":任何非数字\[^0-9\]的简写;
    4. "\s": 匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。
    5. "\S": 非空白字符:\[^\s] 的简写
    6. "\w":单词字符:[a-zA-Z_0-9]的简写
    7. "\W":非单词字符:\[^\w]

例子:

public class Demo {
    public static void main(String[] args) {
        //"." : 匹配任何字符
        System.out.println("你".matches("."));//true
        System.out.println("你".matches(".."));//false
        System.out.println("你好".matches(".."));//true
        System.out.println("=========================");
        //"\d":任何数字[0-9]的简写
        System.out.println("a".matches("\\d"));//false
        System.out.println("1".matches("\\d"));//true
        System.out.println("111".matches("\\d"));//false
        System.out.println("========================");
        //"\s": 空白字符:[ \t\n\x0B\f\r] 的简写
        System.out.println("".matches("\\s"));//false
        System.out.println(" ".matches("\\s"));//true
        System.out.println("\t".matches("\\s"));//true
        System.out.println("a".matches("\\s"));//false
        System.out.println("========================");
        //"\w":单词字符:[a-zA-Z_0-9]的简写
        System.out.println("a".matches("\\w"));//true
        System.out.println("_".matches("\\w"));//true
        System.out.println("C".matches("\\w"));//true
        System.out.println("9".matches("\\w"));//true
        System.out.println("a3".matches("\\w"));//false
    }
}

语法示例:

    1. X? : 0次或1次
    2. X* : 0次到多次
    3. X+ : 1次或多次
    4. X{n} : 恰好n次
    5. X{n,} : 至少n次
    6. X{n,m}: n到m次(n和m都是包含的)

例子:

public class Demo{
    public static void main(String[] args) {
        //X? : 0次或1次
        System.out.println("".matches("\\w?"));//true
        System.out.println("a".matches("\\w?"));//true
        System.out.println("a3".matches("\\w?"));//false
        System.out.println("========================");
        //X* : 0次到多次
        System.out.println("".matches("\\w*"));//true
        System.out.println("a".matches("\\w*"));//true
        System.out.println("a3".matches("\\w*"));//true
        System.out.println("========================");
        //X+ : 1次或多次
        System.out.println("".matches("\\w+"));//true
        System.out.println("a".matches("\\w+"));//true
        System.out.println("a3".matches("\\w+"));//true
        System.out.println("========================");
        //X{n} : 恰好n次
        System.out.println("".matches("\\w{1}"));//false
        System.out.println("a".matches("\\w{1}"));//true
        System.out.println("a3".matches("\\w{1}"));//false
        System.out.println("========================");
        //X{n,} : 至少n次
        System.out.println("a".matches("\\w{2,}"));//false
        System.out.println("ab".matches("\\w{2,}"));//true
        System.out.println("abc".matches("\\w{2,}"));//true
        System.out.println("========================");
        //X{n,m}: n到m次(n和m都是包含的)
        System.out.println("a".matches("\\w{2,4}"));//false
        System.out.println("ab".matches("\\w{2,4}"));//true
        System.out.println("ab3d".matches("\\w{2,4}"));//true
        System.out.println("12345".matches("\\w{2,4}"));//false
        System.out.println("========================");
    }
}

案例:

验证13384920492,23839048503,12098174910,13019485011011满足
以1开头且第二位在3-9之间的11位数

public class Demo{
    public static void main(String[] args) {
        String[] strings={"13384920492","23839048503","12098174910","13019485011011"};
        //验证只能以1开头,第二位在3-9之间的11位数
        for (int i = 0; i <strings.length; i++) {
            System.out.println(strings[i].matches("1[3-9]\\d{9}"));
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值