java 中关于*号的通配符使用

来源:互联网 发布:淘宝宝贝主图怎么更换 编辑:程序博客网 时间:2024/05/01 16:55
java 中关于*号的通配符使用

1>在java中是用’ .*'来代替  ' *'    ,  用' .' 来匹配 '?'

2>正规式   data.*/.dat   相当于data*.dat 




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

public class RegexTest
{

    private String[] s =
    { "data.dat", "data1.dat", "data2.dat", "data12.dat", "datax.dat",
            "dataXYZ.mp3" };
    //private static String ex1 = "data.//.dat";
    //String str = ""
    //private static String ex2 = "data*.*//.*";

    public void testRegex(String ex)
    {
        System.out.println("regex:   " + ex);
        Pattern p = Pattern.compile(ex);
       
        for (int i = 0; i < s.length; i++)
        {
            Matcher m = p.matcher(s[i]);
            System.out.println(s[i] + ":   " + m.matches());
        }
        System.out.println();
    }

    public static void main(String[] args)
    {
        RegexTest test = new RegexTest();
        //test.testRegex(ex1);
       
        String ex = "d*.*3";
       
        if("*".equals(ex) || "*.*".equals(ex))
        {
            ex = ".*//.*";
        }else
        {
            System.out.println("******** 1:   " + ex);
           
            if(ex.indexOf("*") != -1)
            {
                ex = ex.replaceAll("//*", ".*");
            }
            System.out.println("******** 2:   " + ex);
           
            if(ex.lastIndexOf(".") != -1)
            {
                ex = ex.replaceAll("//.", "//.");
            }
        }
        System.out.println("********:   " + ex);
        test.testRegex(ex);
    }

}
原创粉丝点击