当前位置:编程学习 > JAVA >>

求一个正则写法

java正则确实不会写。憋了半天了。大家请帮忙啊
我有如下两种类型地址
1、<img src="CT_G20306002Resource?infoid=129436;resid=f1362972943607_0">
2、<a target=_blank href="CT_G20306002Resource?info=129436;res=f1362972943609_0;download=">test.rar</a>

如何编写一个正则获取这些值呢?

我想实现 将 CT_G20306002Resource?infoid=129436;resid=f1362972943607_0 自动替换为
/images/129436_f1362972943607_0.gif

非常感谢啊
--------------------编程问答-------------------- 直接replace不就行了。 --------------------编程问答-------------------- 神人
引用 1 楼 flagiris 的回复:
直接replace不就行了。
--------------------编程问答-------------------- 呵呵 肯定是不行的 --------------------编程问答-------------------- 我希望分别能拿到
infoid
resid
download
这几个值 --------------------编程问答-------------------- http://www.iteye.com/problems/91036 --------------------编程问答-------------------- 谢谢楼上的兄弟
jsoup 可以搞定,但是我的代码中还有js控制的
如 var resUrl = "CT_G20306002Resource?infoid=129436;resid=f1362972943607_0";
jsoup 是无法搞定这个的,所以想采取对html代码做正则匹配替换。 --------------------编程问答-------------------- replaceAll("CT_G20306002Resource\\?infoid=129436;resid=f1362972943607_0","/images/129436_f1362972943607_0.gif");
这不就搞定了 --------------------编程问答-------------------- 呵呵 楼上的谢谢。infoid及resid的值是不知道的,所以你如何替换呢? --------------------编程问答-------------------- 是这个意思吗

Pattern p = Pattern.compile("infoid=(\\d{6});resid=(\\w+)");
Matcher m = p.matcher(imgSrc);
while(m.find()) {
String infoid = m.group(1);
String resid = m.group(2);
}
--------------------编程问答-------------------- replaceAll("CT_G20306002Resource\\?infoid=\\w+;resid=\\w+","/images/129436_f1362972943607_0.gif");
--------------------编程问答--------------------
引用 9 楼 hcrystald 的回复:
是这个意思吗
Java code?123456Pattern p = Pattern.compile("infoid=(\\d{6});resid=(\\w+)");Matcher m = p.matcher(imgSrc);while(m.find()) {String infoid = m.group(1);String resid = m.group(2);}
 ……

非常感谢。
真是郁闷啊,我该如何替换呢
<img src="CT_G20306002Resource?infoid=129436;resid=f1362972943607_0">
-->
<img src="/images/129436_f1362972943607_0.gif">
--------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 11 楼 woshiwangxd 的回复:
引用 9 楼 hcrystald 的回复:
是这个意思吗
Java code?123456Pattern p = Pattern.compile("infoid=(\\d{6});resid=(\\w+)");Matcher m = p.matcher(imgSrc);while(m.find()) {String infoid = m.group(1);String resid = m.gr……

先用java正则匹配,找到所有类似这样的href值,,通过9楼的方法分别获的infoid,和resid,最后手动
拼接: String imgPath = "/images/"+infoid+"_"+resid+".gif";
--------------------编程问答-------------------- 正则:
CT_G20306002Resource\\?infoid=\\d+;resid=[\\s\\S]*
--------------------编程问答--------------------

var str = '<img src="CT_G20306002Resource?infoid=129436;resid=f1362972943607_0">';
var regx = /src="\w+\?infoid=(\w+);resid=(\w+)"/;
str.replace(regx, function(str, $0, $1, $2){return 'src="/images/' + $0 + '_' + $1 + '.gif"';});
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,