Java正则表达式

Java正则表达式

一、正则表达式概念

检查、匹配字符串的表达式

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

1、字符范围匹配:

A          表示:精准匹配A这个字符(单个字符)
x | y      表示:允许出现x或y字符
[abc]      表示:只有一个字符a或b或c
[a-zA-Z]   表示:a到z  或A到Z,两头的字母包括在内
[0-9]      表示:只有一个字符,0-9中一个数字  简写形式:\d
[^xyz]     表示:不允许出现x或y或z
[^0-9]     表示:不允许出现0-9任意一个字符

2、元字符:

\d   表示:匹配任意单个数字
\D   表示:除数字之外的任意字符
\s   表示:空白字符  可以是空格或\t(制表位)\n(换行符)
\S   表示:除空白字符以为的任意字符
\w   表示:a-z 或A-Z 或 0-9
\W   表示:除a-z 、A-Z 、 0-9之外的任意字符
\n   表示:匹配单个换行符
\.   表示:匹配.这个字符
【以上有斜杠得在用的时候要写再加一个右斜杠,eg:String a="\\D".    表示:匹配任意单个字符(换行符除外)
^    表示:正则的起始标记(正则表达式中可以不写)
$    表示:结束标记(正则表达式中可以不写)

3、多次重复匹配:

X{n}       表示:给定的X只能有n个  eg:[0-9]{2}  只能是0-9的数字并且只能有2个()  15符合规则,123 不符合规则不是2位数字
X{n,}      表示:给定的X至少有n个  eg:[0-9]{2,}   只能是0-9的数字并且至少有2个() 15,123 均符合规则   8 则不符合规则
X{n,m}     表示:给定的X至少有n个,但不超过m次  eg:[0-9]{2,6}  只能是0-9的数字并且至少有2个() 但不能超过6个()     85,616 均符合规则,20000616  超过6位不符合规则
[0-9]*     表示:只能是0-9的数字并且可以出现零次至无限次,相当于{0,}
[0-9]?     表示:最多出现一次 ,相当于{0,1} 
[0-9]+     表示 :只能是0-9的数字并且至少出现一次

例子:
1.验证短信验证码(6位数字eg:032547) 正则表达式为: \d{6}
2.匹配全国做记号(区号3或4位-电话号7或8位
eg: 031-6666666 或 0312-12345678) 正则表达式为: \d{3,4}-\d{7,8}
3.匹配英文姓名(eg: James Watson或James W)
[A-Z][a-z]{1,}\s[A-Z][a-z]{0,} 或 [A-Z][a-z]+\s[A-Z][a-z]*


4、定位匹配:

^A.*       头匹配      eg:ABC      以A开头的任意多个字符(^A表以A开头的字符,.表任意,*表零次至无限次)
.*A$       尾匹配      eg:CBA      以A结尾的任意多个字符(A$表以A结尾的字符)
^A.*A$     全字匹配    eg:ABCA     以A开头A结尾的中间任意多个字符

三、示例
用正则表达式表示用户名、密码、手机号、邮箱

用户名: [a-zA-Z]{6,12}    表示:a到z  或A到Z至少有6位但不能超过12位
密码:[0-9]{6,}            表示:只能是0-9的数字并且至少有6位 
手机号:1[3456789]\d{9}    表示:字符串开始第一个字符只能是1,第二个字符时3或4或5或6或7或8或9 ,\d{9} 只能有9位0-9的数字    共11位组成手机号
邮箱:[a-zA-Z_0-9]{3,}@([a-zA-Z]+|\\d+)(\\.[a-zA-Z]+)+   eg:ycf@163.com  或1852003327@qq.com
 [a-zA-Z_0-9]{3,}@   表示:只能是a到z 或A到Z 或0-9  至少出现3次 且最后必须是@符号
 [a-zA-Z]+           表示:只能是a到z 或A到Z 出现的次数至少出现1次
 |      :  或的意思
 \\d+   :  表示:0-9至少出现一次
 \\.    :  表示:.字符
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fy_1852003327

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值