正则表达式常用于字符的验证,

常用的正则表达式:

正则表达式 意义
任意字符 与正则表达式一致
\ 单斜杠 \
\t 制表符
\n 换行
单个字符
[abc] 包括a、b或c三个字符中的一个
[^abc] a、b或c三个字符外的其他字符 。(非)
[a-zA-Z] 小写a至z或A至Z
[0-9] 0-9的数字
. (点) 任意字符
\d(\d) 0-9(数字字符 )
\D(\D) 相当于[^0-9], 非数字字符 。
\s 空格、 换行或者制表符中的一个
\S 非空格、换行或者制表符
\w [0-9a-z_A-Z]0-9,a-z,A-Z,下划线中的字符
\W 非0-9,a-z,A-Z中的字符
数量
表达式? 出现0或1次
表达式* 出现0次,1次或多次
表达式+ 出现1次或多次
表达式{n} 出现n次 regex = “\\d{5}” // 5位数字
表达式{n,} 出现n次以上 regex = “\\w{5,}” // 5位以上字符
表达式{n,m} 出现n至m次 regex = “\\w{5,10}” // 5至10位字符
() 正则表达式组
表达式1表达式2 两个表达式“和”运算
表达式1||表达式2 两个表达式 “与”运算
// 正则表达式 日期  以下对月进行了限制 月只能 01-12之间; 日没有做数值的限制
regex = "\\d{4}-(([0][1-9])||([1][012]))-\\d{2}"; // 正则表达式 日期

String 与正则相关的方法

返回值 方法 说明
boolean String.matches(strregex) 正则表达式判断
String.replaceAll(String regex, String replacement) 正则表达式替换,全部替换
String.replaceFirst(regex, replacement); 替换首个
String[] String.split(regex); 字符串分解,以标记字符分解为一个字符串数组

正则表达式测试:

public class RegexDemo {/*** */public RegexDemo() {// TODO 自动生成的构造函数存根}/*** @param args*/public static void main(String[] args) {// TODO 自动生成的方法存根//String str = "a"; // 需要验证的字符String regex = "[abc]"; // 正则表达式System.out.println(str.matches(regex)); // trueregex = "[^abc]"; // 正则表达式System.out.println(str.matches(regex)); // falseregex = "[0-9]"; // 正则表达式System.out.println(str.matches(regex)); // falsestr = "9";System.out.println(str.matches(regex)); // truestr = "99";System.out.println(str.matches(regex)); // false 因为只验证一位,再在输入了2位数字:99regex = "[0-9]{2}"; // 正则表达式  2位数字System.out.println(str.matches(regex)); // true str = "999999";regex = "\\d"; // 正则表达式  1位数字System.out.println(str.matches(regex)); // falseregex = "\\d{6}"; // 正则表达式  6位数字System.out.println(str.matches(regex)); // truestr = "9999_99";System.out.println(str.matches(regex)); // falseregex = "\\w{6}"; // 正则表达式  6位字符  a-z A-Z _(和下划线)System.out.println(str.matches(regex)); // falseregex = "\\w{6,}"; // 正则表达式  6位以上 字符  a-z A-Z _(和下划线)System.out.println(str.matches(regex)); // trueregex = "\\w{6,8}"; // 正则表达式  6-8位 字符  a-z A-Z _(和下划线)System.out.println(str.matches(regex)); // truestr = "12345";System.out.println(str.matches(regex)); // false 字符串少于6位了regex = "\\d+(\\.\\d+)?"; // 正则表达式   小数 (\\.\\d+) 点与小数为一组同时出现 ; ? 小数点与小数出现0次或1次str = "12345.123";System.out.println(str.matches(regex)); // truestr = "12345";System.out.println(str.matches(regex)); // truestr = "0.123";System.out.println(str.matches(regex)); // truestr = "12345.";System.out.println(str.matches(regex)); // falsestr = "a12345.1";System.out.println(str.matches(regex)); // falsestr = "12345.a1";System.out.println(str.matches(regex)); // false// 日期验证的测试regex = "\\d{4}-\\d{2}-\\d{2}"; // 正则表达式 日期str = "2020-06-09";System.out.println(str.matches(regex)); // truestr = "2020-16-09";System.out.println(str.matches(regex)); // trueregex = "\\d{4}-(([0][1-9])||([1][012]))-\\d{2}"; // 正则表达式 日期System.out.println(str.matches(regex)); // falsestr = "2020-01-09";System.out.println(str.matches(regex)); // truestr = "2020-10-09";System.out.println(str.matches(regex)); // truestr = "2020-12-09";System.out.println(str.matches(regex)); // truestr = "2020-00-09";System.out.println(str.matches(regex)); // falsestr = "2020-13-09";System.out.println(str.matches(regex)); // false}}

例:使用替换方法 返回只包含字母的字符串

public class RegexDemo2 {/*** @param args*/public static void main(String[] args) {// TODO 自动生成的方法存根// 返回一个全部是字母的字符串String str = "asc123deAQE#@¥%";String regex = "[^a-zA-Z]+"; // 正则表达式 非字母字符System.out.println(str.replaceAll(regex, "")); // 非字母字符替换为 空 字符串}}

正则开发包

/*** 正则开发包测试* String 继承 正则开发包中的两个类:* java.util.regex.Pattern* java.util.regex.Matcher*/public class PutternDemo {/** 导入正则开发包两个类 */
import java.util.regex.Matcher;
import java.util.regex.Pattern;public PutternDemo() {// TODO 自动生成的构造函数存根}/*** @param args*/public static void main(String[] args) {// TODO 自动生成的方法存根String regex = "[a-zA-Z]+";Pattern pat = Pattern.compile(regex); // 正则接口实例化String str = "abcABC";Matcher mat = pat.matcher(str);// 正则比较System.out.println(mat.matches()); // 比较方法,返回:true}}

Java 常用正则表达式与测试相关推荐

  1. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式...

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...

  2. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年10 ...

  3. java常用正则表达式整理

    常用的正则表达式主要有以下几种: 匹配中文字符的正则表达式:[\u4e00-\u9fa5]  获取日期正则表达式:\d{4}[年|\-|\.]\d{1,2}[月|\-|\.]\d{1,2}日?  匹配 ...

  4. java 常用正则表达式

    匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的 ...

  5. Java常用正则表达式

    package com.beike.springboot.other;import java.util.regex.Matcher; import java.util.regex.Pattern;/* ...

  6. Java 常用正则表达式整理

  7. java常见正则表达式用法

    java常见正则表达式用法 例1: 判断整个字符串是否只有大小写字母和数字 String str = "ABCaaa123GG";String reg = "^[A-Za ...

  8. Java常用API(三)Pattern 正则表达式

    1. 一个用于指定规则的类 正则Regex , 在java中正则形成了一个单独的包 java.util.regex , 代表正则的类 --- Pattern 正则表达式本质上适用于指定匹配或筛选规则的 ...

  9. java测试开发_测试开发系类之Java常用知识点

    测试需要的两门语言:Java,Python 测试开发:开发测试脚本->开发测试框架 Java需要掌握内容:基础语法.Java面向对象相关概念.Java常用类.基础测试框架 Java常用类:IO相 ...

最新文章

  1. X-Forwarded-For 会少记录一次代理服务器的IP
  2. OpenGL纹理上下颠倒翻转的三种解决办法(转)
  3. 大牛书单 | 系统架构方向好书推荐
  4. 12-思科防火墙:ASA会话超时
  5. #1406 data too long for column '' at row 1
  6. mysql有热备设置_Mysql数据热备配置与操作方法
  7. 【vs2019MFC】msvcrtd.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 “int __cdecl invoke_mai
  8. ssh 连接访问被拒绝
  9. 【Vue】Vue项目的创建以及饿了么UI的使用
  10. 高等数学——微分方程
  11. 服务器 iis ftp配置文件,如何:在 IIS 中创建和配置 FTP 站点
  12. Flask-SQLAlchemy的使用(详解)
  13. C#反编译工具:.NET Reflector导出代码
  14. _kbhit函数详解
  15. 数学学习在计算机研究领域的作用和重要性
  16. 数组转化为集合的方式asList()
  17. android+祖玛游戏源码,unity祖玛游戏Zuma Ball Blast源码
  18. 关于矩形的边框,以及边框线偶尔不显示的问题
  19. 190407 逆向-西湖论剑杯
  20. mysql计算两个日期间的工作时长(参数传入每天上班时间,并剔除周末)

热门文章

  1. GMark 0.8.6 无法显示Google Bookmarks
  2. 【前沿技术】浅析搜狗AI主播背后的核心技术
  3. 【生信】初探基因定位和全基因组关联分析
  4. 通证大局观(二):通证权益解析
  5. mybatis mysql concat_在MyBatis中使用concat()方法
  6. iOS 9:四、设置信任
  7. 超好用的PC截图工具Snipaste—免费便捷高效
  8. 吴恩达,确诊新冠阳性
  9. 【已解决】CSDN无法粘贴图片、截图 或者 上传图片一直显示失败
  10. Android中日志打印 Log的使用