Java正则表达式的辨析

正则表达式就是一个用于匹配字符串的模板,可以匹配一批字符串,所以创建正则表达式就是创建一个特殊的字符串。

1.正则表达式的特殊字符及含义
字符 解释
\t 制表符
\n 换行符
\r 回车符
$ 匹配一行的结尾,如果要匹配$字符串,使用\$
^ 匹配一行的开始,如果要匹配^字符串,使用\^
() 标记子表达式的开始和结束位置,如果要匹配(或者)使用\( 或者\)
[] 用于确定中括号表达式的开始和结束位置。
{} 用于标记前面子表达式的出现频率
* 指定前面子表达式可以出现零次或多次
+ 指定前面子表达式可以出现一次或者多次
指定前面子表达式可以出现零次或者一次
. 匹配除了换行符\n之外的任何单字符。
\ 用于转义下一个字符。
| 指定两项之间任选一项。

2.预定义字符
字符 解释
\d 匹配0-9的所有数字
\D 匹配非数字
\s 匹配所有的空白字符,包括空格、制表符、回车符、换页符、换行符
\S 匹配所有非空白字符
\w 匹配所有的单词字符,包括0~9所有的数字、26个英文字母和下画线(_
\W 匹配所有的非单词字符。

3.方括号表达式

方扩号 解释
表示枚举 [abc],表示abc其中任意一个字符;[gz]标志gz中的任意一个字符
表示范围:- [a-f],表示af之间的任意字符,范围可以和枚举结合使用,如:[a-fx-z]匹配af或者xz的任意字符
表示求否:^ [^a-f],表示非abcdef的任意字符 
表示与:&& [a-z&&[d-f]],表示azdf的集合,de或者f
[a-z&&[^bc]]a-z所有的字符除了bc之外。
[a-z&&[^d-h]]a-z所有字符除去d-h之间的字符,即a-ci-z之间的字符
表示运算 [a-dm-p],即a-d所有的字符和m-p之间的所有字符

4.花括号表达式

花括号 解释
X? X表达式出现零次或者一次
X* X表达式出现零次或者多次
X+ X表达式出现一次或者多次
X{n} X表达式出现n a{5} aaaaa
X{n,} X表达式出现至少n
X{n,m} X表达式出现nm

5.举例:

1)验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位; 
2)验证电话号码:("^(\d{3,4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx
3)验证身份证号(15位或18位数字):("^[1-9]\d{14}|[1-9]\d{16}(\d|X|x)$");
4)验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值