正则表达式虽然内容不多,可是每次组装的时候还是边测试边组装比较稳妥,要不然错在哪都不知道
这个类是可以单独测试正则表达式,用起来很方便,需要的同学COPY走就好了.
以下为代码:
package regex;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTestHarnessV5 {//正则表达式测试工具
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.printf("%nEnter your regex: ");
Pattern pattern = Pattern.compile(scanner.nextLine());
System.out.printf("Enter input string to search: ");
Matcher matcher = pattern.matcher(scanner.nextLine());
boolean found = false;
while (matcher.find()) {
System.out.printf(
"Found \"%s\" starting index %d ending index %d.%n",
matcher.group(), matcher.start(), matcher.end());
found = true;
}
if (!found) {
System.out.printf("No match found.%n");
}
}
/*
* [0-9][0-9][0-9][0-9][0-9][0-9]==[0-9]{6}//[0-9]出现六次
* 手机号[0-9]{11}
* 手机号^[0-9]{11}$开始到结尾11位数
* 身份证:^[0-9]{17}([0-9]|x|X){1}$
* 身份证也可以写成:^[0-9]{17}[0-9xX]{1}$
* 身份证也可以写成:^\d{17}[\dxX]{1}$//:\d表示0~9
* .表示任意字符
* \w单词字符[0-9a-zA-Z]
* \s匹配空白
* {n}几个
* {m,n}m到n个
* 身份证^\d{15}(\d{2}[\dXx])?$
* 坐标:^-?\d+(\.\d*)?[,\s]\s*\d+(\.\d*)?$
*/
}
}
|
|