正則 抓http 圖片的表達式

// 獲取src路徑的正則 private static final String IMGSRC_REG_HTTP = ""(http://|www://|ftp://|https://|//)(\w+(-\w+))(\.(\w+(-\w+)))((:\d+)?)(/(\w+(-\w+)))(\.?(\w))(\?)?(((\w*%)(\w\?)(\w:)(\w\+)(\w\.)(\w&)(\w-)(\w=)(\w%)(\w\?)(\w:)(\w\+)(\w\.)(\w&)(\w-)(\w=))(\w*)*)"";java

測試代碼: package mytest;apache

import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern;測試

import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils;google

import com.google.common.collect.Lists;url

public class CopyOfRegexMatches_page {.net

public static void main(String args[]) {
	System.out.println(new CopyOfRegexMatches_page().replaceNumber("http://picjumbo.imgix.net/HNCK9012.jpg?q=40&w=1000&sharp=30"));
	System.out.println("/n--------下一個 -----------/n");
	System.out.println(new CopyOfRegexMatches_page().replaceNumber("//picjumbo.imgix.net/HNCK9012.jpg?q=40&w=1000&sharp=30"));
	
}

public String replaceNumber(String url) {
	
	// //picjumboblog.imgix.net/P1020073_1400-2.jpg?q=40&w=1650&sharp=30
	//http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?   
	//String pattern = "(http:|https:|//)\"?(.*?)(\"|>|\\s+)";
	//^(http|www|ftp|)?(://)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w)*)(\\?)?(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)$
	String pattern = "(http:|www:|ftp:|https:|)?(//)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w)*)(\\?)?(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)";
	Pattern p = Pattern.compile(pattern);
	Matcher m = p.matcher(url);
	ArrayList<String> strs = Lists.newArrayList();
	while (m.find()) {
		strs.add(m.group(0));
		System.out.println("匹配"+m.group(0));
	}
	if (CollectionUtils.isNotEmpty(strs) && NumberUtils.isNumber(strs.get(0))) {
		int pageNum = Integer.parseInt(strs.get(0))+1;
		String pageNumString=String.valueOf(pageNum);
		url=StringUtils.replaceChars(url, strs.get(0), pageNumString);
	}
	return url;
}

}code

blog

相關文章
相關標籤/搜索