- 转载自:java Tutorial
- 类型:读书笔记
测试工具类
这个网站提供基本的正则表达式测试工具:
这个就是大概让你直到正则表达式怎么用,我为了以后用做个记录,加个注释,美滋滋!
RegexTestHarness.java
import java.io.Console;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexTestHarness {
public static void main(String[] args){
Console console = System.console();
if (console == null) {
System.err.println("No console.");
System.exit(1);
}
while (true) {
//正则表达式Pattern对象,需要编译;Pattern对象需要传入Regular Expression(正则表达式)
Pattern pattern =
Pattern.compile(console.readLine("%nEnter your regex: "));
//Pattern对象读取字符串获取Matcher对象,Matcher用于存储匹配信息
Matcher matcher =
pattern.matcher(console.readLine("Enter input string to search: "));
boolean found = false;
//控制台输出
/**你看到matcher.find()不断寻求匹配到的字符串,并通过matcher.group()来存储匹配到的字串,matcher.start()标识字串开始索引**/
while (matcher.find()) {
console.format("I found the text" +
" \"%s\" starting at " +
"index %d and ending at index %d.%n",
matcher.group(),
matcher.start(),
matcher.end());
found = true;
}
if(!found){
console.format("No match found.%n");
}
}
}
}
定义匹配模式
类型 | 描述 |
---|---|
[abc] | a or b or c |
[^abc] | 任何字母除了a,b,c;集合非操作 |
[a-z] | 范围匹配,小写字母 |
[a-d[m-p]] | 范围嵌套匹配,a-d或m-p任何一个字母 |
[a-z&&[abc]] | 交集,集合[a-z]和集合[abc]交集 |
预定义字母类型
类型 | 描述 |
---|---|
. [友情提示:这是个点] | 任何字符 |
\d | 数字 |
\D | 非数字 |
\s | 空格类[ \t \n \x0B \f \r] |
\S | 非空格类 |
\w | 字母 |
\W | 非字母 |
【友情提示:字符串中使用要加一个转义字符对字符“\”进行转义】
量词
类型 | 描述 |
---|---|
x? | x最多出现一次 |
x* | x出现任意次数 |
x+ | x出现至少一次 |
x{n} | x出现n次 |
x{n,} | x至少出现n次 |
x{n,m} | x出现n到m次 |
额,这么多,不想整理了,真麻烦,用到再说吧!