正则表达式java

 又称为规则表达式。(英语:Regular Expression,在代码中常简写为regex,regexp或者RE)

特点:可以迅速地用极简单的方式达到对字符串的复杂控制。

使用:在java中正则表达式为String类型,被验证的内容同样为String类型,通过String类中的matches方法实现内容的匹配校验(matches方法会返回boolean值)。如“被验证内容”.matches(“正则表达式”)

语法规则:[内容限定]{长度限定} 可以只进行内容限定,没有指定长度限定默认长度为1。

[a]表示当前内容必须是字母a

public static void main(String[] args) {
        String regex="[a]";
        String content="a";  //这里只能是a长度为1
        System.out.println(content.matches(regex));
    }

[a-z0-9]表示内容可以是a-z之间的任意字母或者0-9之间的任意数字,不分先后;

public static void main(String[] args) {
        String regex="[a-z]";
        String content="a";//这里只能是小写a-z,而大写字母不行如果想可以[A-Z]而数字是[0-9]可以组合注意中间不能有空格
        System.out.println(content.matches(regex));
    }

[^abc]表示内容不能是a或b或c

长度限定:

        固定长度:{固定长度值}

        [a-z]{5}表示内容范围为小写字母a-z,且长度必须为5

        范围长度:{最小长度值,最大长度值} 最小长度值必须给 如果允许没有用0代替 最大长度                         值可以不给

          [a-z]{2,}表示内容范围为小写字母a-z,且长度最小为2,最大长度无限制

          [a-z]{0,2}表示内容范围为小写字母a-z,且长度最小为0,最大长度为2

长度限定符号:通过预定义符号完成长度限定

        ?:等同于{0,1}

        +:等同于{1,}

        *:等同于{0,}

public static void main(String[] args) {
        String regex="[a-z]?";
        String content="a";//可以是“”或“a-z”
        System.out.println(content.matches(regex));
    }

预定义字符:表示内容的限定,目的是为了简化内容的限定的定义

public static void main(String[] args) {
        /**    常见的
         *  \d 匹配一个数字字符,等价于【0-9】
         *  \D 匹配一个非数字字符,等价于[^0-9]
         *  \n 匹配一个换行符
         *  \r 匹配一个回车符
         *  \s 匹配任何空白字符,包括空格,制表符,换页符等等
         *  \S 匹配任何非空白字符
         *  \t 匹配制表符
         *  \w 匹配包括下划线的任何单词字符。等价于[A-Za-z0-9_]
         *  \W 匹配任何非单词字符。等价于[^A-Za-z0-9_] 支持汉字哦
         */
        String regex="\\d*";//在使用预定义字符需要在前面加转义字符 注:中间不能加空格
        String content="1123123";
        System.out.println(content.matches(regex));
    }

正则表达式的组合定义

 public static void main(String[] args) {
        String regex="[a-z]{1}\\w{3,8}"; //表示必须以字母开头,最少长度为4,最大长度为8
        String content="a234";
        System.out.println(content.matches(regex));
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值