正則匹配兩個字符之間的內容
表達式: (?<=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結尾