java.util Pattern 和 Mathcer

1.测试给定的正则表达式是否匹配输入的字符串,这里该正则表达式只使用一次

    private String regex ;
    private String input;
    @Before
    public void init(){
        regex = "\\[{0,1}([\u4e00-\u9fa5]+)/[A-Za-z]+\\]{0,1}[A-Za-z]*";
        input = "延安/ns"; }

 

/**
     * 测试给定的正则表达式是否匹配输入的字符串,
     * 这里该正则表达式只使用一次
     */
    @Test
    public void test1matches(){
        
        boolean isMacher  = Pattern.matches(regex, input);
        System.out.println(isMacher);
    }

 

测试结果:   true

2.从匹配的正则表达式对应的字符串中获取匹配的部分内容.如获取匹配表达式中第一个括号中的内容:

        String regex = "\\[{0,1}([\u4e00-\u9fa5]+)/[A-Za-z]+\\]{0,1}[A-Za-z]*";
        string input = "[中国/ns  国务院/nt]nt";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        while(matcher.find()){
            //从1开始计数
            System.out.println(matcher.group(1));
        }        

 

测试结果:

  中国
  国务院

 

posted @ 2015-03-16 11:07  勿妄  阅读(435)  评论(0编辑  收藏  举报