Java常用API—正则表达式

一、引言

什么是正则表达式:可以使用单个字符串表示的规则。最通用的正则表达式校验电子邮箱的字符串为:^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$,而电子邮箱也是一个字符串,从而实现一个字符串对另一个字符串的匹配校验。在实际开发中,正则表达式通常被用来检查某些字符串是否合规,例如:用户名、密码、手机号……。


二、正则表达式的语法规则

1.    API文档中:java.util.regex.Pattern      实现的接口:Serializable

2.    正则表达式区分大小写字母。

3.    字符与其含义

字符

含义

例子

x

字符x

“a”,需要匹配的字符串内容就是“a”

\

转义字符

“\t” 制表符, “\n” 换行符 ,

“\r” 回车符,“\\” 反斜杠\

[abc]

字符a|b|c其中一个

“a”

[^abc]

上面取反

“t”

[a-zA-Z]

一个大写或小写字母

“a”

[0-9]

一个数字

“0”

[a-zA-Z_0-9]

一个字母或数字或“_”

“9”

\d

预定义字符类 [0-9]

“0”

\w

预定义字符类

[a-zA-z_0-9]

“y”

^

行的开头

^[abc][0-9]$ 需要匹配的内容从[abc]这个位置开始

$

行的结尾

需要匹配的内容以[0-9]结束

\b

边界匹配器-单词边界

“\b[abc]\b”a|b|c的左右两边需要的是非单词字符[a-zA-Z_0-9]

x?

x出现一次或没有出现

“a?”一个字符a,或一个a都没有

x*

x出现多次或没有出现

“a*”多个字符a,或一个a都没有

x+

x出现一次或多次

“a+”一个字符a或多个字符a

x{n}

x出现恰好n次

“a{3}”字符a出现3次

x{n,}

x至少出现n次

“a{3,}”字符a至少出现3次

x{n,m}

x至少出现n次,但不超过m次

“a{3,6}”字符a至少出现3次,但不超过6次


三、正则表达式规则匹配练习

1.    [0-9]{6,12}       长度为6位到12位的数字

2.    1[34578][0-9]{9}      第1位为1,第2位为3或4或5或7或8,后面还有9个数字

3.    a*b   多个a后面跟着b结尾,或者a没出现以b结尾    “aaab”true “abc”false


四、String类中设计正则表达式的常用方法

1.    boolean matches(String regex)    告知此字符串是否匹配给定的正则表达式

2.    String split(Stringregex)       根据给定正则表达式的匹配拆分此字符串,拆分后放在String[]数组中

3.    String replaceAll(String regex,Stringreplacement)使用给定replacement替换此字符串所有匹配给定的正则表达式的子字符串

Demo:

结果:

五、数字相关正则表达式

1.    匹配正整数:“\\d+”

2.    匹配正小数:“\\d+\\.\\d+”

3.    匹配负整数:“-\\d+”

4.    匹配负小数:“-\\d+\\.\\d+”

5.    匹配保留两位小数的正数:“\\d+\\.\\d{2}“

9.    匹配保留1-3位小数的正数:“\\d+\\.\\d{1,3}“

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《韩顺平讲java》中的正则表达式专题课件是为了帮助学习者理解和掌握Java中的正则表达式知识而准备的教学资料。 正则表达式是一种用来描述、匹配和处理字符串的强大工具,它在文本处理、表单验证、数据提取等方面有着广泛的应用。讲解正则表达式的课件从基础开始,梳理了正则表达式的语法规则和常用的模式匹配符号,然后通过实例演示了如何使用正则表达式进行字符串的匹配、替换和提取等操作。 课件首先介绍了正则表达式的基本概念和使用场景,然后详细讲解了各种元字符、量词、字符类等在正则表达式中的作用和应用方法。同时,课件也提供了大量的实例来加深学习者的理解和应用能力。 在课程的实战部分,课件给出了一些常见的正则表达式应用场景,如匹配邮箱、手机号码、身份证号等。通过这些实例的讲解,学习者可以更好地掌握正则表达式的使用技巧和注意事项。 此外,课件还介绍了Java中的正则表达式API,包括Pattern类和Matcher类的使用方法,以及相关的常用方法和注意事项。学习者可以通过对这些API的学习和练习,进一步提升自己在正则表达式的应用能力。 总之,《韩顺平讲java》中的正则表达式专题课件通过详细讲解和实例演示,帮助学习者全面了解和掌握Java中的正则表达式知识,提升其在字符串处理方面的实际应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值