java正則表示式匹配所有相匹配的內容
阿新 • • 發佈:2018-12-03
java使用正則表示式匹配所有內容
----
**
構建正則表示式
String patternCode="baseid=\\w+";
String patternTitle="title=\\\"[\\u4e00-\\u9fa5]*·?[\\u4e00-\\u9fa5]*\\(?[\\u4e00-\\u9fa5A-Za-z\\s]*\\)?[^\\x00-\\xff]?\\\"";
Pattern pCode=Pattern.compile(patternCode);
Pattern pTitle=Pattern.compile(patternTitle);
Matcher mCode=pCode.matcher(resultData);
Matcher mTitle=pTitle.matcher(resultData);
//構建陣列儲存資料
List<String> codeList=new ArrayList<>();
List<String> titleList=new ArrayList<>();
匹配內容,這裡我使用了兩種方式,一種能得到,一種不能得到,一直沒想明白,po上來。
不能匹配到內容的:
if(mCode.find){
for(int i=0;i<mCode.groupCount;i++){
codeList.add(mCode.group());
}
}
能匹配到所有內容的:
while (mCode.find()){
codeList.add(mCode.group());
}
while (mTitle.find()){
titleList.add(mTitle.group());
}
知道原因的,還請告訴我~