Java 正则表达式-总结

1.概念

正则表达式本质上是一种字符串的操作规则,可以更灵活的操作字符串的匹配、拆分,替换。

2.正则标记

Pattern类:定义要使用的表达式对象。
Matcher类:用于进行正则标记与指定内容的匹配

2.1 单个字符

符号含义
\转义字符’\‘
\n匹配换行(’\n‘)符
\r回车符
\t表示一个“\t”符号

eg:

 String pattern="\\d+";
 String content = "6789";
 //进行匹配
 boolean flag = content.matches(pattern);
 System.out.println("--"+flag);


2.2 字符集

符号含义
[abc]表示可能是字符a、字符a、字符c中的任意一位
[^abc]表示不是字符a、字符a、字符c中的任意一位
[a-z]表示所有小写字母
[a-zA-Z]表示任意的一位字母,不区分大小写
[0-9]0到9的任意一个数字
        String pattern="[789]";
        String content = "8";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);//true


        String pattern="[^789]";
        String content = "1";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);//true

        String pattern="[a-z]";
        String content = "bdhdyd";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);//true


2.3 简化字符表达式

符号含义
.任意一位任何字符。
\d数字:[0-9]
\D表示非数字
\w表示任意字母、数字、_组成
\W表示不是任意字母、数字、_组成
\s表示任意的空白字符,如:’\t‘’\n’
\S表示任意的非空白字符

eg:

        String pattern=".";
        String content = "#";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag); //true

        //仅代表一位
        String pattern="\\d";
        String content = "8";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);
        
        //仅代表一位
        String pattern="\\w";
        String content = "a";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);
	
	    //仅代表一位
        String pattern="\\s";
        String content = " ";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);



2.4 边界

符号含义
^行的开头
$行的结尾

eg:

        //仅代表一位
        String pattern="^3[0-9]{2}7$";
        String content = "3567";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);

2.5 数量表达式

符号含义
?出现0次或1次
+出现1次或者多次
*出现0次或1次、多次
{n}出现恰好n次
{n,}出现n次或者n次以上
{n,m}出现n次到m次

eg:

        //仅代表一位
        String pattern="47?";
        String content = "4";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);

        //仅代表一位
        String pattern="[0-9]{1,}";
        String content = "4567";
        boolean flag = content.matches(pattern);
        System.out.println("--"+flag);

3.问题

3.1 为什么要使用"\d"?

\代表转义符,\\ 描述的是\,所以如果要在字符串定义\,要使用\\,这就是要使用\\d的原因。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值