正则表达式

正则表达式

概述

正则表达式(简写为regx)是一个字符串,用来描述匹配一个字符串集合的模式。正则表达式是强大的,对于字符串的处理非常方便,我们可以用正则表达式来匹配、替换和拆分字符串。

语法

正则表达式由字面值字符和特殊符号组成
在这里插入图片描述
在这里插入图片描述
注:单词字符是任何的字母,数字或者下划线字符

Sample1

社会安全号的模式是 xxx-xx-xxx,其中x是一位数字。社会安全号的正则表达式可以描述为
[\\d]{3}-[\\d]{2}-[\\d]{4}

Sample2

偶数以数字0、2、4、6、8结尾。偶数的模式可以描述为
在这里插入图片描述

Sample 3

假定姓由最多25个字母组成,并且第一个字母为大写形式。则姓的模式可以描述为
在这里插入图片描述
注:任何字符串匹配正则表达式 “.*”

替换和拆分字符串

如果字符串匹配正则表达式,String类的matches方法返回true。String类也包含replaceAll,replaceFirst和split方法,用于替换和拆分字符串。
replaceAll方法替换所有匹配的子字符串,replaceFirst方法替换第一个匹配的子字符串。例如:
在这里插入图片描述
split(regex)方法使用匹配的分隔符将一个字符串拆分为子字符串
在这里插入图片描述

邮箱正则表达式

这里借助Java邮箱正则表达式加深理解

"^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$"  

合法E-mail地址:
1. 必须包含一个并且只有一个符号“@”
2. 第一个字符不得是“@”或者“.”
3. 不允许出现“@.”或者.@
4. 结尾不得是字符“@”或者“.”
5. 允许“@”前的字符中出现“+”
6. 不允许“+”在最前面,或者“+@”

正则表达式如下:   
-----------------------------------------------------------------------   
^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$   
-----------------------------------------------------------------------   
  
字符描述:   
^ :匹配输入的开始位置。   
\:将下一个字符标记为特殊字符或字面值。   
* :匹配前一个字符零次或几次。   
+ :匹配前一个字符一次或多次。   
(pattern) 与模式匹配并记住匹配。   
x|y:匹配 x 或 y。   
[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。   
\w :与任何单词字符匹配,包括下划线。   
$ :匹配输入的结尾。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值