java 正则表达式用法(2)

来源:互联网 发布:郑爽白莲花邪教知乎 编辑:程序博客网 时间:2024/04/30 13:40
查找一段短文中的单词、汉字、数字的个数:

import java.util.*;import java.util.regex.*;public class RegexDemo2 {   public static ArrayList<String> getMatchList(String reg, String input){         ArrayList<String> list = new ArrayList<String>();          Pattern p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);          Matcher m = p.matcher(input);                  while(m.find()){               list.add(m.group());                  }          return list;       }   public static void printList(ArrayList<String> list, String message){         for(String s : list)            System.out.println(s);            System.out.println("共有" + message + "个数:" + list.size());    }  public static void main(String arg[]) {      String input = "Do one thing at a time, and do well. 一次只做一件事,并做到最好。x1,1y,2013,2014";      String regEng = "\\b[a-z]+\\b";      String regCn = "[\u4e00-\u9fa5]";       String regNum = "\\b\\d+\\b";       int eng = 0, cn = 0, num = 0;       ArrayList<String> listEng = getMatchList(regEng, input);      printList(listEng, "单词");         ArrayList<String> listCn = getMatchList(regCn, input);      printList(listCn, "汉字");       ArrayList<String> listNum = getMatchList(regNum, input);      printList(listNum, "数字");   }}/*Doonethingatatimeanddowell共有单词个数:9一次只做一件事并做到最好共有汉字个数:1220132014共有数字个数:2*/


原创粉丝点击