java解析字符串中的文件名
我试图找到一个简单的正则表达式,它以url
开头,以jpg)
结尾,以提取字符串url(file:///C:\\Testing\\external\\thex-2_rtfimage_1.jpg)
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ExtractFile
{
public static final String EXAMPLE_TEST =
"this is url(file:///C:\\Testing\\external\\thex-2_rtfimage_1.jpg) which is attached";
public static void main(String[] args) {
Pattern pattern = Pattern.compile("url");
Matcher matcher = pattern.matcher(EXAMPLE_TEST);
// check all occurance
while (matcher.find()) {
System.out.print("Start index: " + matcher.start());
System.out.print(" End index: " + matcher.end() + " ");
System.out.println(matcher.group());
}
}
}
# 1 楼答案
下面的模式应该可以检测以
url
开头,以jpg
结尾的任何内容在我转到JSFIDLE解决方案时,演示使用了JavaScript。但该模式在Java中也可用
针对您的模式的另一个解决方案可以是:
它使用一个单词边界(\b)进行匹配,该边界以
url
开头,后跟一个或多个单词、非单词、数字或非数字字符的匹配,然后。以右括号结尾的jpg)
。如果你能提供一份预期输入和答案的样本,那就更好了。但考虑到你的陈述,这就是我的想法。但很可能还有其他可行的解决方案# 2 楼答案
您可以使用单词边界和
.*?
来匹配url
和jpg
之间的文本: