A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 老傻白 中级黑马   /  2017-3-17 22:27  /  896 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

正则表达式虽然内容不多,可是每次组装的时候还是边测试边组装比较稳妥,要不然错在哪都不知道
这个类是可以单独测试正则表达式,用起来很方便,需要的同学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*)?$
  */
}
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马