欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java—正则表达式(Pattern类和Matcher类),

来源: javaer 分享于  点击 27561 次 点评:102

Java—正则表达式(Pattern类和Matcher类),


正则表达式介绍

  正则表达式可以用于对字符串的处理,相当于是一个匹配字符串的模板。主要包含查找、替换、分割、提取等操作;Java中通过PatternMatcher类提供对正则的支持。

字符处理

特殊字符处理

对于特殊字符:$^()[]{}*+?.\|前面都要加上\进行转义。

预定义字符

预定义字符即为正则表达式中的“通配符”,就是可以匹配多个字符的特殊字符。
|预定义字符|作用|
|-|-|
|.|匹配任意字符|
|\d|digit,代表数字,匹配0-9中的所有数字|
|\D|匹配非数字|
|\s|space,代表空白,匹配所有空白字符(空格、换行、回车、换页、制表符等)|
|\S|匹配所有非空白字符|
|\w|word,代表单词,匹配所有单词字符,包含0-9所有数字、26个英文字母以及下划线"_"|
|\W|匹配所有非单词字符|

三种模式的数量表示符

贪婪模式 勉强模式 占用模式 作用
X? X?? X?? X表达式出现0次或1次
X* X*? X*? X表达式出现0次或多次
X+ X+? X+? X表达式出现1次或多次
X{n} X{n}? X{n}? X表达式出现n次
X{n,} X{n,}? X{n,}? X表达式最少出现n次
X{n,m} X{n,m}? X{n,m}? X表达式最少出现n次,最多出现m次

方括号表达式

方括号表达式含义 作用
枚举 [abcd],表示a、b、c、d中的任意一个字符;
范围:- [a-e],表示从a到e字母中的任意字母;可结合枚举进行使用,[a-eu-z],表示从a到e,从u到z范围内的任意字符
否定:^ [^abcd],表示不是a、b、c、d中的字符;[^a~e]表示不是a至f范围的字符
与运算:&& [a-g&&[bch],求a~z和bch的交集,则结果为bc
并运算 [a-e[h-j]]

正则表达式的使用

String类常用方法

String类中的查找、替换、分割、提取等操作方法

Matcher类常用方法

Pattern对象用法

  Pattern是不可变类,是正则表达式编译后在内存中的表示形式,在Java中使用正则表达式字符串必须要先被编译为Patter对象,然后再使用Pattern对象创建对应的Matcher对象。
用法

// 编译正则表达式为Pattern对象
Pattern pattern = Pattern.compile("bc*d");
// 使用编译好的Pattern对象创建Matcher对象
Matcher m = p.matcher("bccccd");
boolean b = m.matches();
System.out.println(b);

结果

true

上述步骤等价于

boolean b = Pattern.matches("bc*d", "bccccd");
System.out.println(b);

相关文章

    暂无相关文章
相关栏目:

用户点评