一、正则表达式的概念

正则表达式,regular expression,在代码中通常简写成regex

正则表达式是一个字符串,使用每单个字符串来描述、定义匹配规则,匹配一系列符合某个语法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合规则的文本。

二、正则表达式的匹配规则

在Pattern类中有正则表达式的规则定义,正则表达式中明确区分大小写字母。

1. 字符a:就是代表字符a

. 点代表任意字符,[\\.]

2. 字符\\:第一个\表示对第二个\的转义

[\\d]代表只能是数字,等同于[0-9]

[\\w]代表字母数字下划线,等同于[0-9a-zA-Z_]

3. \t:制表符,tab

4. \n:回车符

5. \r:换行符

6. [abc] :表示匹配范围,可以是abc任意一个

7. [a-z]: 表示匹配范围,表示可以是a-z小写字母中任意一个,同理还有[A-Z] [0-9]

8. [^abc]:表示取反

9. ^ 行的开头,$ 行的结尾,^[abc][0-9]$ 相当于 "[abc][0-9]"

10. X?  代表X出现一次,或一次也不出现.

11.  X*  代表X出现0次或多次

12.  X+  代表X出现1次或多次

13.  X{n} 代表X出现n次

14  X{n,} 代表X至少应该出现n次

16  X{n,m}代表X最少出现n次,最多出现m次

练习:

1. 解释"[0-9]{6,12}"  -->数字0-9,最少6位,最多12位,如123456

2. 解释"1[34578][0-9]{9}"  -->,第一位为1,第二位为34578任意一个,然后数字0-9 出现9次

3. 解释 "a*b"  -->a出现0次或多次,b结尾,如ab,b,aaaab

4. 校验QQ号码(全数字,0不能开头,最少5位,最多9位)

String QQ = "383661755";

String regex = "[1-9][0-9]{4,8}";

boolean b =QQ.matches(regex);

5. 匹配正整数: [0-9]+ 或\\d+

6. 匹配负整数 :“-[0-9]+"或"-\\d+"

7. 匹配正小数: "\\d+\\.\\d+"

8. 匹配负小数: "-\\d+\\.\\d+"

9. 匹配保留两位小数的正数: "\\d+\\.\\d{2}"

10. 匹配保留1-3位小数的正数: "\\d+\\.\\d{1,3}"

11. 匹配合法邮箱: 第一位不能是数字,可以是下划线,名称最多18位

"\\w+@\\w+(\\.\\w+)+"

二、正则匹配方法

String str = new String("abc");

str.matches(String regex); 返回boolean

三、正则拆分字符串

str.split(String regex),返回string[]数组

如:

String str = "www.baidu.com";

str.split("."); //以.来拆分字符串,得到String数组

结果:{"www","baidu","com"}

以空格来拆分字符串

String str = "a b c";

str.split(" ");  -->得到{"a","b","c"}

如果有多个空格

String str = "a      b      c";

str.split(" +");

三、正则替换

replaceAll(String regex,String replacement)

regex:替换规则

replacement:替换为的字符串

String s = "Hello12345World6789012";将其中的数字全部替换成*号

s.replaceAll("\\d","*");

java正则表达式及api_JAVA常用API:正则表达式regular expression相关推荐

  1. java 有多少api_Java常用API(二)

    API 正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex) 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符 ...

  2. 包 权限修饰符 final 常量 枚举 抽象类 接口 多态 内部类 常用API 正则表达式 Lambda

    包 什么是包? 包是用来分门别类的管理各种不同类的,类似于文件夹.建包利于程序的管理和维护. 建包的语法格式:package 公司域名倒写.技术名称.报名建议全部英文小写,且具备意义. package ...

  3. (常用API)正则表达式的概念和作用

    正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字 ...

  4. 【java】简述CGLIB常用API

    1.概述 转载:简述CGLIB常用API 类似:[Spring]CGLIB动态代理 CGLIB,即Code Generation Library,是一个强大的.高性能的代码生成库.其被广泛应用于AOP ...

  5. 测开基础串讲-Java基础-测开常用API之Random类

    在日常的测试开发工作中,Random类算是使用比较频繁的一个类了,有时候创建测试数据,可能需要随机生成一些姓名.年龄.号码.编号等,这个时候我们可能就会在固定的名称后面加上随机数字.字符等:下面就来看 ...

  6. python正则表达式模块_Python常用模块——正则表达式re模块

    Python常用模块--正则表达式re模块 引子 请从以下文件里取出所有的手机号 姓名 地区 身高 体重 电话 况咏蜜 北京 171 48 13651054608 王心颜 上海 169 46 1381 ...

  7. Java编程题笔试常用API

    前言:有家有公司联系上了我,然后要在牛客网参加一场笔试,之前搞ACM的时候都是用的C++,现在做后端开发都用java了,想用java答题了,虽然java麻烦点,但是从长远看,更有利于我java水平的提 ...

  8. Java基础学习之常用API(16)

    常用API 1.Math 1.1 Math类概述 包含基本数字运算的方法. package Java16.Math;public class demo1 {public static void mai ...

  9. java 最小化 api_Java的API设计实践

    Introduction 了解在设计Java API时应该应用的一些API设计实践.通常,这些实践很有用,并确保API可以在模块化环境中正确使用,例如OSGi和Java平台模块系统(JPMS).有些做 ...

最新文章

  1. 集合框架一:Collection集合
  2. 批量添加AD账号(三)
  3. 回复 集赞 抢 《Apple Watch 苹果开发教程》活动开始了!!!
  4. LSD-SLAM 编译过程(Ubuntu 14.04 + ROS Indigo
  5. Response.Redirect(),Server.Transfer(),Server.Execute()的区别与网站优化
  6. servlet3异步_Servlet 3的异步Servlet功能
  7. 安装、启动、配置zookeeper(window版)
  8. 求一个向量变换为另一个向量的矩阵_OpenGL里旋转等变换矩阵为什么是4x4的矩阵...
  9. android优雅的一个侧滑
  10. 关于CoreData的使用
  11. Git(11)-- Git 别名(alias)
  12. docker 部署 redmine 项目管理软件
  13. 无约而来WIN8 PRO WMC X64 201306
  14. web前端实习一个月的心得体会
  15. 基于ERDAS软件的高分三号(GF-3)SAR影像的预处理
  16. Unity获取手机app列表《三》安卓端
  17. 模式识别——第3章 判别函数法
  18. Tomcat运行黄色叉号
  19. SpringBoot 下载打包图片
  20. 12 JAVA编程思想——集合的类型

热门文章

  1. cocos2d-x触摸事件优先级
  2. 公开仓库中Docker镜像的漏洞分析结果发布
  3. go1.5及以上版本交叉编译
  4. 推荐一个代码自动完成的工具AutoCode
  5. star ccm+ 用户指南_star-ccm边界层处理方法
  6. linux虚拟单用户数,Linux单用户模式
  7. 三电平igbt死区时间计算_IGBT基础与运用知识
  8. lisp修改天正标高值_【求教】如何批量修改天正字体
  9. 不会英语计算机开车和,驾校学车的那些事儿——技术篇
  10. 反射效果,自己公司内部编码,在text上输入内容后,通过输入内容查询数据库,弹出下拉框