常用的一些正则表达式匹配

正则表达式主要是用来处理字符串,更加准确的说是处理字符的

基础知识:

?出现0或1次           

+至少出现1次     

  * 出现0次或是多次

[]表示出现其中的一个或者多个

{n,m}最少出现n次,最多出现m次

\\d 表示出现的数字  \\D出现的不是数字

\\s表示空白字符,包括空格,换行,制表符,回车等  \\S相反

\\w a-z A-Z 0-9 表示常规字符   \\W相反

\\. 表示出现单个任意字符

单个的知识点并不难,但是组合起来使用就有点复杂了,多多练习。

主要作用

1.字符串匹配

2.字符串的替换操作

3.字符串的抽取


1.字符串的匹配操作

  • IP的匹配操作

192.168.0.27 最简单的正则表达式的匹配    \\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3} 每一位上都可能出现1-3个数字,但是没有限制数字最大为255,超过255则匹配不成功。

\\d 表示数字 ,{n,m}表示最少出现n次,最大出现m次。

稍微改进一点的IP匹配正则表达式为:[1-2]?\\d{0,2}\\.[1-2]?\\d{0,2}\\.[1-2]?\\d{0,2}\\.[1-2]?\\d{0,2}。

还有更好的,自己可以思考完成。

  • 身份证匹配
身份证现在分老式的15位 和新式的18位,18位身份证有可能最后一位是X,所以这个比较简单一些    \ \d{15}||\\d{18}||\\d{17}[Xx]
更好的验证就是提取出出生日期,限制一些年限。从19XX--2XXX年        \\d{6}[12][90]\\d{7} ||\\d{6}[12][90]\\d{10} ||\\d{6}[12][90]\\d{9}[Xx]
  • 电子邮件匹配
  /*
*fangjiewd@126.com
*fangjie_wd@game.com
*fangjie.wd@edu.com.cn 
*/
[\\w+\\.-]*\\w+@[\\d+\\.\\w]*\\w+\\.\\w{2,6} 讲解:[\\w+\\.-]*表示能够出现fangjie_wd@ ...或者是fangjie.wd@...这种情况,
但是在@前必须出现一个或者多个字符\\w+ ,这样之后如果出现像这种情况fangjie.wd.@...则就不能匹配成功
在@之后可以出现字符或者是数字或者是组合,使用 [\\d+\\.\\w]*做限制
  • 数字的匹配
\\d+这种情况只能匹配像 12,33333,88整数情况,但对于小数则匹配不成功。
改进:\\d+\\.?\\d+ 这种情况则就能匹配整数也能匹配小数,因此可能判断一个字符串是否为数字

  • 日期匹配
匹配2014-12-21 这种形式的日期:\\d{4}-\\d{1,2}-\\d{1,2},其他形式的也类似,可以仿照写

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值