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

你可能感兴趣的:(java,正则表达式,java)