正则表达式(01)

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegExp {

    private Pattern patt;
    private Matcher matcher;

    /**
     * 通配符匹配:.符号在正则表达式中为通配符含义,匹配所有字符,包括空格、Tab字符甚至换行符.
     * []符匹配 :[]符号在正则表达式中匹配单个字符,[]是对指定的元素进行匹配,只有在[]里的元素才能参与匹配.
     * ()符匹配 :可以进行多个元素的匹配,例如:t(a|e|i|o|oo)n,|在正则表达式中代表"或"的意思,即匹配的字符串只要满足()中任意一项元素的匹配,该正则表达式则返回true
     * 
     * 通过^进行匹配条件限制,^的常见入门用法如下:
     * [^a-z] 条件限制在非小写a to z范围中一个字符 
     * [^A-Z] 条件限制在非大写A to Z范围中一个字符 
     * [^a-zA-Z] 条件限制在非小写a to z或大写A to Z范围中一个字符 
     * [^0-9] 条件限制在非0 to 9范围中一个字符 
     * [^0-9a-z] 条件限制在非0 to 9或a to z范围中一个字符
     * 
     * @param regStr: 匹配字符串
     * @param regex : 正则表达式
     * @return
     */

    public boolean mapReg(String regStr, String regex) {
        return this.commonRegExp(regStr, regex);
    }

    private boolean commonRegExp(String regStr, String regex) {
        boolean wildcard_Res = false;
        patt = Pattern.compile(regex);
        matcher = patt.matcher(regStr);
        wildcard_Res = matcher.find();
        return wildcard_Res;
    }

    public static void main(String[] args) {

        RegExp re = new RegExp();
        boolean wildcard_Res = false;
        // 通配符匹配
        wildcard_Res = re.mapReg("ton", "t[ao]n");
        // []号匹配
        wildcard_Res = re.mapReg("ton", "t[aoe]n");
        // 括号(),或|匹配
        wildcard_Res = re.mapReg("toon", "t(aoe|oo)n");
        // ^号匹配
        wildcard_Res = re.mapReg("toon", "[^abcd]");
        System.out.println(wildcard_Res);
    }

}

 

posted @ 2012-11-27 09:35  小病猫  阅读(316)  评论(0编辑  收藏  举报