0%

常用正则表达式

提取字符串中的图片地址

1
2
3
4
5
6
7
8
9
10
11
12
String url = "<div><img width=\"864px\" height=\"148px\" src=\"http://r30.enable-ets.com/storage/attachment/2019/4/23/cca1a4629f2a42be9e929b3f80de1c51.JPG\" alt=\"\" title=\"image\" style=\"width: 37.57em; height: 6.43em; vertical-align: middle;\"></img><br><img width=\"863px\" height=\"755px\" src=\"http://r30.enable-ets.com/storage/attachment/2019/4/23/d660a24657c6499fa31b3d3bbe9140cb.jpg\" alt=\"\" title=\"image\" style=\"width: 37.52em; height: 32.83em; vertical-align: middle;\"></img><br><img width=\"866px\" height=\"133px\" src=\"http://r30.enable-ets.com/storage/attachment/2019/4/23/3cce9cfbedba4976921adaceafd4d98d.jpg\" alt=\"\" title=\"image\" style=\"width: 37.65em; height: 5.78em; vertical-align: middle;\"></img><br> </div>";

// 提取非json格式的http地址, json格式会带"
// Pattern pattern = Pattern.compile("http://[\\S\\.]+[:\\d]?[/\\S]");
Pattern pattern = Pattern.compile("http://[\\S\\.]+[:\\d]?[.jpg|.jpeg|.png|.gif|.bmp]", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(url);
StringBuffer buffer = new StringBuffer();
while(matcher.find()){
buffer.append(matcher.group());
buffer.append("\r\n");
}
System.out.println(buffer.toString());

js 取出标签中的所有值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
getAnalysisFileList : function(analysisString) {
// 转换answer信息, 取出所有标签值
// analysisString = "<p><img src=\"http://192.168.116.190/storage/attachment/2020/1/2/f583bb1a6e22429fa558aa00b4e9abf2.png\" title=\"1.png\" alt=\"1.png\"><img src=\"http://192.168.116.190/storage/attachment/2020/1/2/a3ae44211b2946e08e023a2f2ed34960.jpg\" title=\"1-543872364186734592-B.jpg\" alt=\"1-543872364186734592-B.jpg\"></p>";
// 取出连接和文件名
var reg= /=\"(.*?)\"/g;
var i = 1;
var analysisFileList = [];
while (r=reg.exec(analysisString)){
// 每个图片有一个地址, 一个title, 一个alt, 一个size, 四个切换一组
let index = Math.floor((i-1)/4);
let analysisFileTemp = analysisFileList[index];
if (CommUtils.isEmpty(analysisFileTemp)) {
analysisFileTemp = {
url: r[1],
fileName: "",
size: Math.floor(Math.random(Math.random()) * 10000)
}
analysisFileList[index] = analysisFileTemp;
} else if (i%4 == 2) {
analysisFileTemp.fileName = r[1];
} else if (i%4 == 0 && i !== 0) {
analysisFileTemp.size = r[1];
}
i++;
}
return analysisFileList;
},