求正则高手写一个替换

Kanderliu 2012-06-18 10:24:44
list[2]= a.js b.css
svn = 1001
html= ..... ....a.js?r=1000,.....b.css?r=998....
(1000和988是不确定的整型版本号)
替换后html ..... ....a.js?r=1001,.....b.css?r=1001....

这个替换的正则如何写?


可参考代码:


/**
* 替换内容
*
* @param infilename
* @param from
* @param to
* @throws IOException
*/
// listFiles 是arraylist,别人返回给我的一些以.css .js结尾的文件名的数组。
// svnVersion是可以拿到的版本号。

public static void replace(String infilename)
throws IOException {
File infile = new File(infilename);
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(infile)));
String reading = null;
File tempFile = new File(infilename + "1");
BufferedWriter bw = new BufferedWriter(new FileWriter(tempFile));
while ((reading = in.readLine()) != null) {
for (int i = 0; i < listFiles.length; i++) {
if (reading.contains(listFiles[i])) {
reading = reading.replaceAll(regex, listFiles[i]+"?r="+svnVersion);
}
}

bw.write(reading + "\n");
}
in.close();
bw.close();
tempFile.renameTo(new File(infilename));
tempFile.delete();
}
...全文
203 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
likeajin 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

楼上的人写的都不对啊,我要用最新的在源html文件里面以.js .css 文件末尾加上版本号。源html文件里面的.js .css 文件如果原先有版本号,则替换,如果原先没有,则添加。
[/Quote]
你是要后台的正则表达式还是前台的正在表达式?前台的看2楼,后台的参考2楼
zj19850529 2012-06-19
  • 打赏
  • 举报
回复
楼上的人写的都不对啊,我要用最新的在源html文件里面以.js .css 文件末尾加上版本号。源html文件里面的.js .css 文件如果原先有版本号,则替换,如果原先没有,则添加。
study_donet 2012-06-19
  • 打赏
  • 举报
回复
Regex reg1 = new Regex(@"(?<=a\.js\?r\=)\d+");
Regex reg2 = new Regex(@"(?<=b\.css\?r\=)\d+");
reg1.Replace(html, 1001);
reg2.Replace(html, 1001);
似梦飞花 2012-06-19
  • 打赏
  • 举报
回复
public static void main(String[] args){
String svn="1001";
String test="html= ..... ....a.js?r=1000,.....b.css?r=998....";
String reg="(?<=\\?r\\=)\\d+";
test=test.replaceAll(reg, svn);
System.out.println(test);
}
这样试试 不很明白你的意思
likeajin 2012-06-19
  • 打赏
  • 举报
回复

var a=['asdrss231.js?r=123','sdfsh23.js','sdfs.js.js','http//13sd.sd.fd.js'],
reg=/(.+)(.js|.css)(\?r=\d+)*$/,
verson='1001';
for(var i=0,il=a.length;i<il;i++){
alert(a[i]+'-->'+a[i].replace(reg,'$1$2'+'?r='+verson));
}
newxdlysk 2012-06-19
  • 打赏
  • 举报
回复
\.(c|j)ss?\?r=\d+

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧