java 正则表达式用法(2)

原创 2013年12月05日 16:16:58
查找一段短文中的单词、汉字、数字的个数:

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, "数字"); 

  }
}


/*
Do
one
thing
at
a
time
and
do
well
共有单词个数:9
一
次
只
做
一
件
事
并
做
到
最
好
共有汉字个数:12
2013
2014
共有数字个数:2
*/



相关文章推荐

正则表达式高级用法---五(反向引用 /1, /2...)

反向引用 /1, /2...        表达式在匹配时,表达式引擎会将小括号 "( )" 包含的表达式所匹配到的字符串记录下来。在获取匹配结果的时候,小括号包含的表达式所匹配到的字符串可以单独获...

Java学习笔记之Pattern类的用法详解(正则表达式)

java.util.regex.Pattern (摘自sun主页) Implements:Serializable   正则表达式的编译表示形式。 指定为字符串的正则表达式必须首...

JAVA正则表达式高级用法(分组与捕获)

JAVA正则表达式高级用法(分组与捕获) 标签: 正则表达式javac测试 2008-08-06 10:06 15764人阅读 评论(19) 收藏 举报 分类: Java(85)...

[Java] 学习笔记一(String,for循环,多线程,正则表达式,map用法)

StringString.equals (String) 判断两个字符串对象的内容是否相同。 值得注意的是,String.equals与’==’操作不同。前者比较的是两者的内容是否相同,而后者比较...

正则表达式工具2(java版)

  • 2015年09月16日 17:44
  • 11KB
  • 下载

JAVA 正则表达式总结_V2

  • 2016年02月15日 17:06
  • 794KB
  • 下载

从头认识java-11.5 扫描输入(2)-scanner的边界与使用正则表达式扫描

这一章节我们来介绍一下scanner的边界与使用正则表达式扫描。1.scanner的边界上一章节我们提到scanner里面有hasNext方法,可以检测是否还有字符串,其实这个就是边界符,检查字符串的...

JAVA 正则表达式总结_V2

  • 2016年02月29日 10:20
  • 1.49MB
  • 下载

JAVA - 2、String 类的使用(四)--正则表达式

1.判断是否符合正则表达式的方法: 为了检查输入的数据是否满足某种格式,从JDK1.4开始可以使用String类的matches()方法进行判断。语法如下所示: boolean matc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 正则表达式用法(2)
举报原因:
原因补充:

(最多只允许输入30个字)