Java正则表达式 匹配两个字符串中间的内容

正则匹配两个字符之间的内容
表达式: (?<=A).*?(?=B)

匹配两个字符串A与B之间的内容,不包含A和B

 // 匹配规则
        String reg = "(?<=A).*?(?=B)";
        String temp = "aAabcBc";
        Pattern pattern = Pattern.compile(reg);
        Matcher matcher = pattern.matcher(temp);
        if( matcher.find() ){
            System.out.println(matcher.group());
        }
       //打印内容 abc


表达式: A.*?(?=B)

匹配两个字符串A与B之间的内容,包含B,不包含A

// 匹配规则
        String reg = "A.*?(?=B)";
        String temp = "aAabcBc";
        Pattern pattern = Pattern.compile(reg);
        Matcher matcher = pattern.matcher(temp);
        if( matcher.find() ){
            System.out.println(matcher.group());
        }
       //打印内容 abcB


表达式: A.*?B

匹配两个字符串A与B之间的内容,包含A和B

  // 匹配规则
        String reg = "A.*?B";
        String temp = "aAabcBc";
        Pattern pattern = Pattern.compile(reg);
        Matcher matcher = pattern.matcher(temp);
        if( matcher.find() ){
            System.out.println(matcher.group());
        }
       //打印内容 AabcB


注: “ . ”表示任意字符,“ ? ”表示匹配一次或多次,“ ?<=A ” 表示以A开头,“ ?=B ”表示以B结尾

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章