Java学习笔记——正则表达式,java业务代码场景面试题

// 以上这些,以此类推,小写变成大写后匹配的范围都完全相反

//\w可以匹配单词字符,\W匹配非单词字符

// \s匹配空白字符,\S匹配非空白字符

}

}

这里需要注意的是

在正则表达式中是\s,\d,到了实际写成字符串的时候,都变成了\\s,\\d

String r2 = “a&c”; 会直接报错,但是String r3 = “\n”; 不会报错

说明java中,\必须与特定的字符绑定出现。

但是正则表达式中又要用到单个的 \ 来转义特定字符,所以就需要用 \\ 来获取一个单个的 \,放到正则表达式里面。因为 \\ 中的第一个 \ 会作为转义字符,改变第二个 \

总而言之一句话,正则表达式中的 \ 在实际写的时候全部换成 \\ 就行了

重复匹配

package RegularExpression;

public class demo4 {

public static void main(String[] args) {

//重复匹配

/* 修饰符 * 可以匹配任意个字符,包括0个字符

放在元字符后面,比如\d*,代表可以匹配任意数量的数字字符

放在字符后面,代表可以匹配任意个该字符

*/

//放在元字符后面

String s1 = “ab\d*”;

System.out.println(“ab123”.matches(s1)); //true

System.out.println(“ab”.matches(s1)); //true

//放在字符后面

String ss1 = “abc*”;

System.out.println(“ab”.matches(ss1)); //true,这里是匹配0个字符c

System.out.println(“abccc”.matches(ss1)); //true

/* 修饰符+可以匹配至少一个字符

放在元字符后面,比如\d+,代表至少匹配一个数字字符

放在字符后面,代表匹配至少一个该字符

*/

//放在元字符后面

String s2 = “ab\d+”;

System.out.println(“ab”.matches(s2)); //false,至少一个,不能是0个

System.out.println(“ab123”.matches(s2)); //true

//放在字符后面

String ss2 = “abc+”;

System.out.println(“ab”.matches(ss2)); //false,至少包含一个该字符

System.out.println(“abccc”.matches(ss2)); //true

/* 修饰符?可以匹配0个或一个字符

放在元字符后面,比如\d?,代表可以匹配零个或者一个数字字符

放在字符后面,代表匹配零个或一个该字符

*/

//放在元字符后面

String s3 = “ab\d?”;

System.out.println(“ab”.matches(s3)); //true

System.out.println(“ab12”.matches(s3)); //false

//放在字符后面

String ss3 = “abc?”;

System.out.println(“ab”.matches(ss3)); //true

System.out.println(“abcc”.matches(ss3)); //false

/* 修饰符{n}可以精确指定n个字符

放在元字符后面,比如\d{3},代表匹配3个数字字符

放在字符后面,代表匹配n个该字符

*/

//放在元字符后面

String s4 = “ab\d{3}”;

System.out.println(“ab123”.matches(s4)); //true

System.out.println(“ab1234”.matches(s4)); //false

//放在字符后面

String ss4 = “abc{3}”;

System.out.println(“abccc”.matches(ss4)); //true

System.out.println(“abc”.matches(ss4)); //false

/* 修饰符{n,m}可以指定匹配n~m个字符

放在元字符后面,比如\d{2,4},代表匹配2到4个数字字符

放在字符后面,代表匹配n到m个该字符

*/

//放在元字符后面

String s5 = “ab\d{2,4}”;

System.out.println(“ab10”.matches(s5)); //true,注意这里是两个数字字符1和0

System.out.println(“ab2”.matches(s5)); //false

//放在字符后面

String ss5 = “abc{2,4}”;

System.out.println(“abcc”.matches(ss5)); //true

System.out.println(“abc”.matches(ss5)); //false

/* 修饰符{n,}可以匹配至少n个字符

放在元字符后面,比如\d{2,},代表至少匹配2个数字字符

放在字符后面,代表至少匹配n个该字符

*/

//放在元字符后面

String s6 = “ab\d{2,}”;

System.out.println(“ab123”.matches(s6)); //true

System.out.println(“ab2”.matches(s6)); //false

//放在字符后面

String ss6 = “abc{2,}”;

System.out.println(“abccc”.matches(ss6)); //true

System.out.println(“abc”.matches(ss6)); //false

}

}

匹配开头和结尾

package RegularExpression;

public class demo6 {

public static void main(String[] args) {

//匹配开头和结尾

//^表示开头,$表示结尾

//比如 ^\d\w$表示开头为\d,结尾是\w

String s = “^\d\w$”;

System.out.println(“3A”.matches(s)); //true

System.out.println(“A3”.matches(s)); //false

// 当然也可以用到字符上

String ss = “^A.C$”;

System.out.println(“ABC”.matches(ss)); //true,要是"^AC$"的话就为false

System.out.println(“XYZ”.matches(ss)); //false

}

}

范围匹配

package RegularExpression;

public class demo7 {

public static void main(String[] args) {

//匹配指定范围

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

Kafka实战笔记

关于这份笔记,为了不影响大家的阅读体验,我只能在文章中展示部分的章节内容和核心截图

image.png

  • Kafka入门
  • 为什么选择Kafka
  • Karka的安装、管理和配置

image.png

  • Kafka的集群
  • 第一个Kafka程序
  • image.png

afka的生产者

image.png

  • Kafka的消费者
  • 深入理解Kafka
  • 可靠的数据传递

image.png

image.png

  • Spring和Kalka的整合
  • Sprinboot和Kafka的整合
  • Kafka实战之削峰填谷
  • 数据管道和流式处理(了解即可)

image.png

  • Kafka实战之削峰填谷

image.png

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

Spring和Kalka的整合**

  • Sprinboot和Kafka的整合
  • Kafka实战之削峰填谷
  • 数据管道和流式处理(了解即可)

[外链图片转存中…(img-WnuVa86R-1712791906943)]

  • Kafka实战之削峰填谷

[外链图片转存中…(img-BWTKTTsp-1712791906944)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-2vKcCBXC-1712791906944)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值