正则 抓http 图片的表达式
正则 抓http 图片的表达式
林伟琨 发表于2年前
正则 抓http 图片的表达式
  • 发表于 2年前
  • 阅读 22
  • 收藏 4
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

// 获取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*)*)"";

测试代码: package mytest;

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;

import com.google.common.collect.Lists;

public class CopyOfRegexMatches_page {

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;
}

}

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 8
博文 83
码字总数 25316
×
林伟琨
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: