您的位置:首页 > 编程语言 > Java开发

java正则表达式笔记

2015-07-17 14:21 393 查看
java正则表达式学习记录

 正则表达式(regular expressions)是一种描述字符串集的方法,它是以字符串集中各字符串的共有特征为依据的。正则表达式可以用于搜索、编辑或者是操作文本和数据。它超出了 Java 程序设计语言的标准语法,因此有必要去学习特定的语法来构建正则表达式。正则表达式的变化是复杂的,一旦你理解了它们是如何被构造的话,你就能解析或者构建任意的正则表达式了。



字符类

字符类
[abc]
a, b 或 c(简单类)
[^abc]
除 a, b 或 c 之外的任意字符(取反)
[a-zA-Z]
a 到 z,或 A 到 Z,包括(范围)
[a-d[m-p]]
a 到 d,或 m 到 p:[a-dm-p](并集)
[a-z&&[def]]
d,e 或 f(交集)
[a-z&&[^bc]]
除 b 和 c 之外的 a 到 z 字符:[ad-z](差集)
[a-z&&[^m-p]]
a 到 z,并且不包括 m 到 p:[a-lq-z](差集)
预定义字符类

预定义字符类
.
任何字符(匹配或者不匹配行结束符)
\d
数字字符:[0-9]
\D
非数字字符:[^0-9]
\s
空白字符:[\t\n\x0B\f\r]
\S
非空白字符:[^\s]
\w
单词字符:[a-zA-Z_0-9]
\W
非单词字符:[^\w]
词量

量 词 种 类
意  义
贪婪
勉强
侵占
X?
X??
X?+
匹配 X 零次或一次
X*
X*?
X*+
匹配 X 零次或多次
X+
X+?
X++
匹配 X 一次或多次
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 次
边界匹配器
^
行首
$
行尾
\b
单词边界
\B
非单词边界
\A
输入的开头
\G
上一个匹配的结尾
\Z
输入的结尾,仅用于最后的结束符(如果有的话)
\z
输入的结尾
示例:使用分组去文件的扩展名

import java.util.regex.Matcher;
import java.util.regex.Pattern;

publicclass Foo {
publicstatic String testFoo(Stringsource){
//两个分组
Pattern
p = Pattern.compile("(\\w+).(.+)");

Matcher
mat = p.matcher(source);
mat.find();
//打印分组数
System.out.println(mat.groupCount());
//返回第二个分组内容
returnmat.group(2);
}

publicstaticvoid main(String[]args)
{
System.out.println(testFoo("User3.java"));
}
}
打印结果:
2
java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: