用java写一个根据文件名匹配特定img 标签src 路径中最后文件名的动态正则表达式
时间: 2024-04-29 12:21:21 浏览: 132
可以使用Java的正则表达式库来实现这个功能。以下是一个示例代码,可以匹配特定img标签src路径中最后文件名的动态正则表达式:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.File;
public class ImageSrcRegex {
public static void main(String[] args) {
String fileName = "example.jpg"; // 要匹配的文件名
String srcPath = "/images/example.jpg"; // 要匹配的img标签src路径
// 获取文件名的正则表达式
String regex = Pattern.quote(File.separator) + "(\\w+)" + Pattern.quote(".");
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(fileName);
String filePart = "";
if (matcher.find()) {
filePart = matcher.group(1);
}
// 生成动态正则表达式
String dynamicRegex = Pattern.quote(srcPath) + ".*" + filePart + ".*" + Pattern.quote("\"");
Pattern dynamicPattern = Pattern.compile(dynamicRegex);
Matcher dynamicMatcher = dynamicPattern.matcher("<img src=\"/images/example.jpg\" alt=\"Example Image\">");
if (dynamicMatcher.find()) {
System.out.println("Match found: " + dynamicMatcher.group(0));
} else {
System.out.println("No match found.");
}
}
}
```
在上面的示例代码中,首先使用正则表达式获取要匹配的文件名的部分。然后,生成一个动态正则表达式,该表达式包含了要匹配的img标签src路径以及文件名的部分。最后,使用该动态正则表达式来匹配img标签的src属性。
阅读全文