JAVA正则表达式笔记

正则表达式
所谓正则表达式,就是一个可以匹配N个字符串的字符串模板
正则表达式是一个非常强大的字符串模板
在一般的命令行里面,经常使用a*来表示字符串模板
正则表达式支持的通配符:
. 可以匹配任意字符
\s 代表任意一个空白(空格,tab) space
\S 代表任意一个非空白
\d 代表任意一个数字 digital
\D 代表任意一个非数字
\w 代表一个单词字符
\W 代表任意一个非单词字符

    string 中正则表达式有关的方法

            matches( String regex )     判断字符串是否匹配

            public class TEST4 {
                public static void main(String[] args) {
                    System.out.println("123".matches("\\d\\d\\d"));
                    System.out.println("crazyit.org".replaceAll("\\.","?"));
                    System.out.println("crazyit.org".replaceAll("\\w","?"));
                }
            }

还有 replaceFirst 换第一个

split 分割函数

            import java.lang.reflect.Array;
            import java.util.Arrays;

            public class TEST{
                public static void main(String[] args) {
            //        String str = "abc.xyz.def" ;
            //        System.out.println(Arrays.toString(str.split("\\.")));

                    String arr = "abc?www?kkk$" ;
                    System.out.println(Arrays.toString(arr.split("\\w")));
                }
            }

方括号表达式

        枚举:【ax中】  表示a或x或中 期中任意一个字符
        范围:【a-f】   表示a到f中的任意一个字符
        范围与枚举并存:【a-f5-7】  表示a到f中和5到7中任意一个字符
        表示求否:【^a-f】  不是a到f中的任意一个字符
        表示求交:【a-g && 【^b-d】】   只要不是a e f g 字符的任意一个字符

表示出现次数的 “副词,不能独立使用”

        ?  表示他前面的东西可以出现0-1次
        *   表示他前面的东西可以出现0-n次
        +   表示他前面的东西可以出现1-n次
        {n,m}  表示他前面的东西可以出现n-m次
        {,m}   表示他前面的东西最多出现m次
        {n,}   表示他前面的东西必须要出现n次
        

        public class TEST4{
            public static void main(String[] args) {
                System.out.println("020-22435344".matches("020-\\d{8}"));
            }
        }


        public class TEST4{
            public static void main(String[] args) {
                String IdNumber = "42092320020406041X" ;
                System.out.println( IdNumber.matches("\\d{18}")
                                ||  IdNumber.matches("\\d{17}X"));
            }
        }

特殊字符:
(使用的时候需要加\进行转义)
()
【】
{}

? 频率
# 频率
+ 频率
^ 代表一行的开头
$ 代表一行的结尾
\n 换行
\t 制表符
\r 回车

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沧州刺史

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值