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結尾

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