/*
 * Pattern类的常用方法
 * 1>compile()   实例化正则表达式规则
 * 2>matcher()       返回marcher类实例
 * 3>split()     字符串拆分
 *
 * matcher类的常用方法
 * 1>matchers()      执行验证
 * 2>replaceAll()    字符串替换
 */
package com.pattern;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class patten {
    public static void main(String[] args){
        String s = "159-95716440";
        isPhone(s);
          
        String s2 = "我是----中国人--";
        downLine(s2);
          
        String s3 = "Patten test";
        System.out.println(s3.matches("[\\w]* test"));
          
        String s4 = "中国|日本|韩国";
        String sCount[]=(s4.split("\\|"));
        for(int i=0;i<3;i++){
            System.out.println(sCount[i]);
        }
        split("\\W","我是abc,321");
    }
    //fn:matchers()判断字符串是否为手机号
    public static void isPhone(String str){
        Pattern p =Pattern.compile("\\d{3}-\\d{8}");        //两个'\'有一个是起转义的作用
        Matcher m = p.matcher(str);
        if(m.matches()){
            System.out.println(str+"是一个手机号");
        }else{
            System.out.println(str+"不知道是什么");
        }      
    }
    //fn:replaceAll()将所有-转换为_下划线
    public static void downLine(String str){
        Pattern p = Pattern.compile("-");
        Matcher m = p.matcher(str);
        System.out.println(m.replaceAll("_"));
    }
    //fn:split()正则拆分字符串
    public static void split(String m,String s){
        Pattern p = Pattern.compile(m);
        String sArr[] = p.split(s);
        for(int i=0;i<sArr.length;i++){
            System.out.println(sArr[i]);
        }
    }
}