JAVASE(十五)正则表达式

目录

一、概念

二、使用

1.字面(普通)字符

2.元字符

(1)单个字符

(2)多个字符


一、概念

正则表达式是一种使用单个字符串来实现匹配、查找或替换文本模式的工具。它包括普通字符和元字符,可简写为regex。

二、使用

在上一篇中的String类中的spilt方法、replaceALL方法以及replaceFirst方法都有用到正则表达式作为参数。本篇用String类的matches方法做示例。

matches方法要求是整个字符串完全符合正则表达式的要求时,才会返回真。

1.字面(普通)字符

即可以直接进行匹配的字符,比如2,a,!等。注意一定要写成字符串的形式。

如:

结果为:

2.元字符

(1)单个字符

比如[0-9]、[a-z]、[A-z]表示指定范围内的任意字符。

当使用matches时,被匹配的字符串不是单个字符就会报错。

注意区分[A-z]和[A-Z],前面的是大小写字母都可以,后面的只能是大写字母。

结果如下:

还有\d、\D、\W、x|y等字符。

(2)多个字符

?表示一次或者0次。 相比于单个字符,可以匹配至多出现一次的情况。如:

结果:

需要注意的是,s1的值和[0-9]不匹配,看似代表着出现了0次,但是返回的是false。这是因为

字符存在但类型不符‌并不属于出现了0次。0次只有在空字符串时成立。

* 表示0次或者多次。 +表示一次或者多次。

可以匹配长度大于等于1的字符串,在matches方法中要求字符串中的每个字符都要符合正则表达式。

如:

运行结果:

也可以用 {n} 表示固定n位 ,{n,}至少匹配n次, {n,m}匹配n到m次

运行结果:

还有其余字符不再一一详述,将这些字符结合起来运用,可以实现验证格式,比如手机号,邮箱,密码等等。

比如要求密码由字母和数字或下划线组成,且首部必须是大写字母,至少8位。

运行结果:

相关推荐
青云交15 分钟前
「源力觉醒 创作者计划」_文心大模型 4.5 开源 28 天:从车间轴承到山村课堂的 AI 突围
java·模型微调·工业质检·文心 4.5·开源 ai·中小企业 ai·乡村教育
正在走向自律18 分钟前
企业微信API接口发消息实战:从0到1的技术突破之旅
java·数据库·企业微信·accesstoken·agentid·corpid·企业微信发消息
Mr Aokey1 小时前
破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践录
java·spring boot·mybatis
咚咚?1 小时前
电子签章(PDF)
java·pdf
啊阿狸不会拉杆1 小时前
《Java 程序设计》第 11 章 - 泛型与集合
java·开发语言·jvm·数据结构·算法
fouryears_234175 小时前
适配器模式——以springboot为例
java·spring boot·适配器模式
汽车功能安全啊7 小时前
利用对称算法及非对称算法实现安全启动
java·开发语言·安全
paopaokaka_luck7 小时前
基于Spring Boot+Vue的吉他社团系统设计和实现(协同过滤算法)
java·vue.js·spring boot·后端·spring
Warren989 小时前
Java Stream流的使用
java·开发语言·windows·spring boot·后端·python·硬件工程
架构师沉默10 小时前
Java优雅使用Spring Boot+MQTT推送与订阅
java·开发语言·spring boot