java正则表达式及api_JAVA常用API:正则表达式regular expression
一、正则表达式的概念
正则表达式,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相关推荐
- java 有多少api_Java常用API(二)
API 正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex) 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符 ...
- 包 权限修饰符 final 常量 枚举 抽象类 接口 多态 内部类 常用API 正则表达式 Lambda
包 什么是包? 包是用来分门别类的管理各种不同类的,类似于文件夹.建包利于程序的管理和维护. 建包的语法格式:package 公司域名倒写.技术名称.报名建议全部英文小写,且具备意义. package ...
- (常用API)正则表达式的概念和作用
正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字 ...
- 【java】简述CGLIB常用API
1.概述 转载:简述CGLIB常用API 类似:[Spring]CGLIB动态代理 CGLIB,即Code Generation Library,是一个强大的.高性能的代码生成库.其被广泛应用于AOP ...
- 测开基础串讲-Java基础-测开常用API之Random类
在日常的测试开发工作中,Random类算是使用比较频繁的一个类了,有时候创建测试数据,可能需要随机生成一些姓名.年龄.号码.编号等,这个时候我们可能就会在固定的名称后面加上随机数字.字符等:下面就来看 ...
- python正则表达式模块_Python常用模块——正则表达式re模块
Python常用模块--正则表达式re模块 引子 请从以下文件里取出所有的手机号 姓名 地区 身高 体重 电话 况咏蜜 北京 171 48 13651054608 王心颜 上海 169 46 1381 ...
- Java编程题笔试常用API
前言:有家有公司联系上了我,然后要在牛客网参加一场笔试,之前搞ACM的时候都是用的C++,现在做后端开发都用java了,想用java答题了,虽然java麻烦点,但是从长远看,更有利于我java水平的提 ...
- Java基础学习之常用API(16)
常用API 1.Math 1.1 Math类概述 包含基本数字运算的方法. package Java16.Math;public class demo1 {public static void mai ...
- java 最小化 api_Java的API设计实践
Introduction 了解在设计Java API时应该应用的一些API设计实践.通常,这些实践很有用,并确保API可以在模块化环境中正确使用,例如OSGi和Java平台模块系统(JPMS).有些做 ...
最新文章
- 集合框架一:Collection集合
- 批量添加AD账号(三)
- 回复 集赞 抢 《Apple Watch 苹果开发教程》活动开始了!!!
- LSD-SLAM 编译过程(Ubuntu 14.04 + ROS Indigo
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别与网站优化
- servlet3异步_Servlet 3的异步Servlet功能
- 安装、启动、配置zookeeper(window版)
- 求一个向量变换为另一个向量的矩阵_OpenGL里旋转等变换矩阵为什么是4x4的矩阵...
- android优雅的一个侧滑
- 关于CoreData的使用
- Git(11)-- Git 别名(alias)
- docker 部署 redmine 项目管理软件
- 无约而来WIN8 PRO WMC X64 201306
- web前端实习一个月的心得体会
- 基于ERDAS软件的高分三号(GF-3)SAR影像的预处理
- Unity获取手机app列表《三》安卓端
- 模式识别——第3章 判别函数法
- Tomcat运行黄色叉号
- SpringBoot 下载打包图片
- 12 JAVA编程思想——集合的类型