java正则表达式s_正则表达式java
正则表达式是⼀种可以⽤于模式匹配和替换的规范,⼀个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的⽂字模式,
它 ⽤以描述在查⽂字主体时待匹配的⼀个或多个字符串。正则表达式作为⼀个模板,将某个字符模式与所搜索的字符串进⾏匹配。
在程序开发中,难免会遇到需要匹配、查、替换、判断字符串的情况发⽣,⽽这些情况有时⼜⽐较复杂,如果⽤纯编码⽅式解决,往往会浪费程序员的时间及精⼒。
因此,学习及使⽤正则表达式,便成了解决这⼀⽭盾的主要⼿段。
*下⾯是java中正则表达式常⽤的语法:
字符的取值范围
1.[abc] : 表⽰可能是a,可能是b,也可能是c。
2.[^abc]: 表⽰不是a,b,c中的任意⼀个
3.[a-zA-Z]: 表⽰是英⽂字母
4.[0-9]:表⽰是数字
简洁的字符表⽰
.:匹配任意的字符
\d:表⽰数字
\D:表⽰⾮数字
\s:表⽰由空字符组成,[ \t\n\r\x\f]
\S:表⽰由⾮空字符组成,[^\s]
\w:表⽰字母、数字、下划线,[a-zA-Z0-9_]
\W:表⽰不是由字母、数字、下划线组成
数量表达式
1.?: 表⽰出现0次或1次
2.+: 表⽰出现1次或多次
3.*: 表⽰出现0次、1次或多次
4.{n}:表⽰出现n次
5.{n,m}:表⽰出现n~m次
6.{n,}:表⽰出现n次或n次以上
逻辑表达式
1.XY: 表⽰X后⾯跟着Y,这⾥X和Y分别是正则表达式的⼀部分
2.X|Y:表⽰X或Y,⽐如"food|f"匹配的是foo(d或f),⽽"(food)|f"匹配的是food或f
3.(X):⼦表达式,将X看做是⼀个整体
java中提供了两个类来⽀持正则表达式的操作
分别是下的Pattern类和Matcher类
时间正则表达式java
使⽤Pattern类进⾏字符串的拆分,使⽤的⽅法是String[] split(CharSequence input)
使⽤Matcher类进⾏字符串的验证和替换,
匹配使⽤的⽅法是boolean matches()
替换使⽤的⽅法是 String replaceAll(String replacement)
Pattern类的构造⽅法是私有的
所以我们使⽤Pattern p = Patternpile("a*b");进⾏实例化
Matcher类的实例化依赖Pattern类的对象Matcher m = p.matcher("aaaaab");
在实际的开发中,为了⽅便我们很少直接使⽤Pattern类或Matcher类,⽽是使⽤String类下的⽅法验证:boolean matches(String regex)
拆分: String[] split(String regex)
替换: String replaceAll(String regex, String replacement)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。