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();
}
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();
}
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));
}
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);
}
这样试试 不很明白你的意思
Regex reg2 = new Regex(@"(?<=b\.css\?r\=)\d+");
reg1.Replace(html, 1001);
reg2.Replace(html, 1001);