正则表达式学习



正则表达式:其实就是用来简化字符串的操作。

            通过一些限定符号组成一种规则,来验证字符串是否符合规则

结论:正则表达式只能使用在字符串上

 

学习正则表达式,其实就是要学习正则规则中的各种限定符号

正则表达式中的各种符号:

一般符号:

x              表示任何字符   例:”NBA”   正则:“N[A-Z]”

\\             表示反斜线     例:“\\”     在正则中就是“\”

\t             制表符

 

字符符号: [ ]表示范围的意思

[abc]       表示要么是a要么是b还可以是c(只能是其中任意一个)

            例:”NBA”   正则:”N[ABC]A”    匹配正确:NBA  NAA  NCA

[^ab]       表示不能是a或b(除了a,b都可以)

[a-z]       表示26个小写字母

[A-Z]       表示26个大写字母

[a-zA-Z]    表示26个大小写字母

[a-d[x-z]]   表示可以是a~d之间或x-z之间的任意字符

[a-d&&[d-f]]表示只能是d。必须在两个范围中都要符合 。(交集)

[a-d&&[^d-f]] 表示只能是a,b,c。

[a-z&&[^xyz]]表示只能是除去x,y,z后的所有小写字母

[0-9]      表示0~9之间任意数字

 

预定义字符:

.       点在正则中可以表示任意的符号    例:以a开对后面可以是任意字符  “a.”

\d      表示数字。[0-9]   例:“A[\\d]C” 表示A和C之间可以任意的0~9之间的数字

\D      表示非数字。[^0-9]

\w      表示[0-9A-Za-z_]。可以是任意数字、任意大小写字母、下划线

\W     表示[^0-9A-Za-z_]

 

边界符:

^    表示行的开头  例:“^h.” 表示只能是以h作为开头

$    表示行的结尾  例:”^h.o$” 表示只能以h作为开头,以o作来结尾

 

 

数量词:       注意:数量词前面必须有存在正则符号

?     表示数量词?前面的正则符号可以有0次或1次   

*     表示数量词*前面的正则符号可以出现0次或多次

+     表示数量词+前面的正则符号可以出现1次或多次

{n}    表示数量词{n}前面的正则符号必须出现n次

{n,}    表示数量词{n,}前面的正则符号至少出现n次

{n,m}  表示数量词{n,m}前面的正则符号至少出现n次,但不能超过m次

正则的功能介绍

在正则表达式中,正则存在4种功能:匹配、切割、替换、获取

正则表达式就是用某种模式去匹配一类字符串的公式,主要用来描述字符串匹配的工具。 
正则表达式描述了一种字符串匹配的模式。它可以用来检查字符串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 
正则表达式是由普通字符(如字符a到z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 
正则表达式就是用于描述某些规则的工具。这些规则经常用于处理字符串中的查找或替换字符串。换句话说,正则表达式就是记录文本规则的代码。 
正则表达式的应用非常广泛,特别是在字符串处理方面。目前来说,正则表达式已经在很多软件中得到广泛了应用,如Linux、Unix、HP等操作系统,C#、PHP、Java等程序开发环境,以及很多的应用软件中,都可以看到正则表达式的这样或那样的应用。正则表达式常见的应用如下: 
验证字符串,即验证给定的字符串或子字符串是否符合指定特征,譬如验证是否是合法的邮件地址、验证是否为合法的HTTP地址等。 
查找字符串,从给定的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。 
替换字符串,即把给定的字符串中的符合指定特征的子字符串替换为其他字符串,比普通的替换更强大。 
提取字符串,即从给定的字符串中提取符合指定特征的子字符串。

 在java中使用String对象中的matches方法用来匹配正则规则。返回值为boolean

 

在一个正则表达中,后面的正则想要去使用前面已经存在的正则规则时,就必须把前面的正则规则包装起来,而后面的正则就可以去引用前面已经包装的正则规则了

正则怎么样进行封装(包装)呢?

在正则表达式中使用小括号”()”把前面已经存在的正则规则进行封装。

被”()”包含的内容,称为正则中的。正则中的组都具有一个编号,称为组号

后面书写的正则怎么使用前面已经封装过的正则规则呢?

后面的正则中使用组的编号(组号)来引用前面已经存在的规则。使用\\组号引用

例:((a)((bc)d)) 组的是使用()包含起来,从前向后每一个()就表示一个组,都具有一个组号

第一组:((a)((bc)d))    组号:1

第二组:(a)            组号:2

第三组:((bc)d)        组号:3

第四组:(bc)          组号:4

    使用组号来引用封装的正则规则。使用\\组号 的方式引用前面存在的正则规则

 

正则的获取功能

正则表达式是在java中存在的一种规则,而java语言对于存在的事物,都会使用类来描述。在java.util.regex包中存在一个用来描述正则表达式的类

通过查阅API,可以获得:

1,  Pattern类是java中正则表达式的实例对象

2,  Pattern类是最终的类,不能被继承

3,  先要有Pattern类的实例(正则表达式的实例对象),通实例对象创建匹配器对象(Matcher类),最后是使用匹配器对象中的matches方法来对正则进行验证

4,  Pattern类没有构造函数。需要使用compile()方法获取Pattern类实例

 


# 高校智慧校园解决方案摘要 智慧校园解决方案是针对高校信息化建设的核心工程,旨在通过物联网技术实现数字化校园的智能化升级。该方案通过融合计算机技术、网络通信技术、数据库技术和IC卡识别技术,初步实现了校园一卡通系统,进而通过人脸识别技术实现了更精准的校园安全管理、生活管理、教务管理和资源管理。 方案包括多个管理系统:智慧校园管理平台、一卡通卡务管理系统、一卡通人脸库管理平台、智能人脸识别消费管理系统、疫情防控管理系统、人脸识别无感识别管理系统、会议签到管理系统、人脸识别通道管理系统和图书馆对接管理系统。这些系统共同构成了智慧校园的信息化基础,通过统一数据库和操作平台,实现了数据共享和信息一致性。 智能人脸识别消费管理系统通过人脸识别终端,在无需接触的情况下快速完成消费支付过程,提升了校园服务效率。疫情防控管理系统利用热成像测温技术、视频智能分析等手段,实现了对校园人员体温监测和疫情信息实时上报,提高了校园公共卫生事件的预防和控制能力。 会议签到管理系统和人脸识别通道管理系统均基于人脸识别技术,实现了会议的快速签到和图书馆等场所的高效通行管理。与图书馆对接管理系统实现了一卡通系统与图书馆管理系统的无缝集成,提升了图书借阅的便捷性。 总体而言,该智慧校园解决方案通过集成的信息化管理系统,提升了校园管理的智能化水平,优化了校园生活体验,增强了校园安全,并提高了教学和科研的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值