题目:
将由三个字符组成的单词输出,并统计个数: String s = "da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?";
相关知识:
java.util.regex 包主要包括以下三个类:
- Pattern 类:
pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。
- Matcher 类:
Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。
- PatternSyntaxException:
PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。
解答:
package ceshi; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TEST { public static void main(String[] args) { //将由三个字符组成的单词输出,并统计个数 String s = "da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?"; //1.定义正则规则 String regex = "\b\w{3}\b"; //2.将规则加入模式器 Pattern pattern = Pattern.compile(regex); //3.通过模式器获取匹配器对象 Matcher matcher = pattern.matcher(s); //4.通过匹配其对象的find()方法查找符合规则的内容 int count = 0;//统计变量 while(matcher.find()){ count++; //5.通过匹配其对象的group()方法获取通过find()方法查找到的内容 System.out.println(matcher.group()); } System.out.println("count:"+count); } }