需求:
        请编写正则表达式验证用户户名是否满足要求。
         要求:大小写字母、数字、下划线一共4-16位
         清标写正则表达式验证身份证号码是否满足要求。
         简单要求:18位,前17位数字任意,最后以为可以是数字可以是大写或小写的x
         复杂要求:按照身份证号码的严格要求
   身份证号码:
         41080019930228547x
         518000200009081625
         13020019990908567X
         430322198709186442

public class Exp1_zhengze {public static void main(String[] args) {// TODO Auto-generated method stub//需求:/*请编写正则表达式验证用户户名是否满足要求。要求:大小写字母、数字、下划线一共4-16位清标写正则表达式验证身份证号码是否满足要求。简单要求:18位,前17位数字任意,最后以为可以是数字可以是大写或小写的x复杂要求:按照身份证号码的严格要求*//*身份证号码:41080019930228547x51800020000908162513020019990908567X430322198709186442*/String regex1="\\w{4,16}";System.out.println("zhangsan".matches(regex1));System.out.println("lisi".matches(regex1));System.out.println("wangwu".matches(regex1));System.out.println("$zhaoliu".matches(regex1));System.out.println("-------------------------------");//身份证号码的简单验证//18位,前17位数字任意,最后以为可以是数字可以是大写或小写的xString regex2="[1-9]\\d{16}(\\d|X|x)";System.out.println("41080019930228547x".matches(regex2));System.out.println("518000200009081625".matches(regex2));System.out.println("13020019990908567X".matches(regex2));System.out.println("430322198709186442".matches(regex2));//方法二:System.out.println("方法二:");String regex3="[1-9]\\d{16}[\\dXx]";System.out.println("41080019930228547x".matches(regex3));System.out.println("518000200009081625".matches(regex3));System.out.println("13020019990908567X".matches(regex3));System.out.println("430322198709186442".matches(regex3));//忽略大小写的方法//在匹配的时候忽略abc的大小写System.out.println("----------------------------------");String regex4="(?i)abc";System.out.println("abc".matches(regex4));System.out.println("ABC".matches(regex4));System.out.println("aBC".matches(regex4));//身份证号码的严格校验//编写正则的小心得://第一步:按照正确的信息进行拆分//第二步:找每一部分的规律,并编写正则表达式//第三步:把每一部分的正则拼接在一起,就是最终的结果//书写的时候:从左到右去书写。//410801   1993   02  28  457x//前面六位:省份、市区,派出所等信息  第一位不能是0,后面5位是任意数字  [1-9]\\d{5}//年的前半段:18 19 20                                              (18|19|20)//年的后半段:任意数字出现两次                                                                      \\d{2}//月份:01~09 10 11 12                                              (0[1-9]|1[0-2])//日期:01~09 10~19 20~29 30 31                                     (0[1-9]|[12]\\d|3[01])//后面四位:任意数字出现三次 最后以为可以是数字也可以是大写X或小写           \\d{3}[\\dXx]System.out.println("身份证号码的严格校验");String regex5="[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]";System.out.println("41080119930228457X".matches(regex5));System.out.println("518002100009081625".matches(regex5));System.out.println("13020019990908567X".matches(regex5));System.out.println("430322198709186442".matches(regex5));}}

java正则表达式练习相关推荐

  1. java正则表达式课程_通过此免费课程学习正则表达式

    java正则表达式课程 by Beau Carnes 通过博卡恩斯 通过此免费课程学习正则表达式 (Learn Regular Expressions with this free course) & ...

  2. java正则表达式 1,Java正则表达式学习(1)

    Java正则表达式学习(一) 1.什么是正则表达式: 正则表达式(regular expressions) 是一种描述字符串集的方法,它是以字符串集中各种字符串的公有特征为依据的. 正则表达式可以用于 ...

  3. 孪生素数 java代码_科学网—孪生素数猜想——利用 Java + 正则表达式 输出孪生素数对 - 马廷灿的博文...

    查了一下资料,发现正则表达式竟然可以用来检查素数(http://coolshell.cn/articles/2704.html)!(由于工作需要,几年前开始接触.利用正则表达式,给工作带了很大方便,也 ...

  4. java正则表达式的用法_Java 正则表达式的使用

    Java 正则表达式的使用 1:正则表达式语法大全 字符 说明 \ 将下一字符标记为特殊字符.文本.反向引用或八进制转义符.例如,"n"匹配字符"n".&quo ...

  5. Java正则表达式--Matcher.group函数的用法

    https://www.cnblogs.com/jiafuwei/p/6080984.html Java正则表达式--Matcher.group函数的用法 原来,group是针对()来说的,group ...

  6. java 正则表达式入门(一)

    Java正则表达式 定义:具有特定规则的一种表达式语言. 作用:专门用于操作字符串,操作意味着(校验,截取).且可以简化我们对字符串的操作方式 比如,验证手机号码 如果没有正则表达式我们的过程就应该是 ...

  7. bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道

    字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...

  8. Java 正则表达式使用详解

    今天研究开源项目,哆啦A梦,研究里面显示log 的原理. 后来发现,用到了正则表达式.觉得很有用,就捡起来,重新研究一下. 学习思路指导: 每一门学问,最好的深入学习方法,是去其官网,研究其说明文档. ...

  9. java正则表达式 过滤特殊字符的正则表达式

    在网上找了好久也没找到个合适的正则表达式以过滤特殊字符:自己学习了下,写了两个,实现要求. Java代码 // 过滤特殊字符 public static String StringFilter(Str ...

  10. JAVA正则表达式:Pattern类与Matcher类详解(转)

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...

最新文章

  1. java 静态内部类 线程安全问题_单例模式的七种写法, 面试题:线程安全的单例模式...
  2. kafka记录及面试题
  3. stm32串口传输数据第一个数据被吞_STM32串口第一个字节丢失问题的分析过程
  4. Linux 终端配置
  5. css禁用选中文本_使用CSS禁用文本选择突出显示
  6. Shiro系列-Shiro的怎么进行授权操作
  7. HTML限制输入个数,如何使用CSS(或jQuery,如果需要)限制输入HTML输入的字符数?
  8. flask mysql pymysql_在 flask 中使用 pymysql 报错,望大神解答!感激不尽!
  9. bouncing-balls-evil-circle
  10. 开发板 集成下载器 jtag_迅为i.MX6ULL开发板原理图分析介绍
  11. spa文件转换html,前端微服务化解决方案2 - Single-SPA
  12. 高速扩张的云市场,需要怎样的安全能力?
  13. python中if none什么意思_关于python:“ if x”和“ if x not None”之间的区别
  14. 间断点怎么求?——6个例子来详细解析较难的间断点的求法
  15. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛题解
  16. python实验楼工资计算器_挑战:工资计算器读写数据文件
  17. EOSRAM终扩容,再谈如何在币圈做“价值投资”!
  18. 解决电商订单与支付大数据量的解决方案
  19. 为什么神经网络层数越多越好?训练次数与层数的区别与联系
  20. 互联网之父赛弗:互联网仍很年轻

热门文章

  1. LWIP开发 | scoket | tcp | client
  2. Tkinter编程应知应会(20)-主菜单
  3. Android 获取点击屏幕压力和坐标
  4. 运维工作简历(运维人员简历模板)
  5. 给阿里云域名解析添加CAA记录,防止你的域名证书被劫持
  6. 成为一个有目标的学习者
  7. mariadb Galera集群部署
  8. SSM智能家居产品销售管理毕业设计源码161618
  9. 天威TM1668芯片官方资料,讲解,代码,自己写的例程
  10. 滤波器基础03——Sallen-Key滤波器、多反馈滤波器与Bainter陷波器