Java 特定文件的JUnit测试限制提供错误输出
我有一个要求,用户应该只添加特定类型的链接 作为附件的一部分。例如,如果用户想要上传 pdf类型的文件,url应以.pdf结尾,对于文档也是如此 应该是的,博士 为了检查这个场景,我编写了JUnit测试,如下所示Java 特定文件的JUnit测试限制提供错误输出,java,regex,Java,Regex,我有一个要求,用户应该只添加特定类型的链接 作为附件的一部分。例如,如果用户想要上传 pdf类型的文件,url应以.pdf结尾,对于文档也是如此 应该是的,博士 为了检查这个场景,我编写了JUnit测试,如下所示 String url="ar.jpg"; String pm="(.*?)\\.(jpg|jpeg|png|gif)$"; Pattern p = Pattern.compile("pm"); Matcher m = p.matcher(url); System.out.pr
String url="ar.jpg";
String pm="(.*?)\\.(jpg|jpeg|png|gif)$";
Pattern p = Pattern.compile("pm");
Matcher m = p.matcher(url);
System.out.println("-----exp "+m.matches());
这个测试总是返回false
有什么不对劲吗
使用我的模式。您有打印错误-将“pm”字符串传递给compile()方法,但必须传递pm变量:
String pm="(.*?)\\.(jpg|jpeg|png|gif)$";
Pattern p = Pattern.compile(pm); // <- here
String pm=“(.*?\”(jpg | jpeg | png | gif)$”;
模式p=模式编译(pm);// 您有打印错误-将“pm”字符串传递给compile()方法,但必须传递pm变量:
String pm="(.*?)\\.(jpg|jpeg|png|gif)$";
Pattern p = Pattern.compile(pm); // <- here
String pm=“(.*?\”(jpg | jpeg | png | gif)$”;
模式p=模式编译(pm);//很好的捕获..就使用字符串pm而言,有什么需要修改的吗?我的意思是…它是否适合任何以jpg、jpeg等结尾的URl。我看不到regexp本身有任何问题-它应该适用于所有以“.jpg”、“.jpeg”、“.png”、“.gif”结尾的字符串。我可以使用另一个正则表达式知道此处的确切文件扩展名吗。例如,您可以通过以下方式进行操作:String[]urlArray=url.split(“\”);字符串扩展名=urlArray[urlArray.length-1];另外,您还可以查看Matcher.group()函数()——它返回匹配的子字符串。在这种情况下,您将需要regexp,它只包括扩展检查。很好的捕获..就使用字符串pm而言,有什么需要修改的吗?我的意思是…它是否适合以jpg、jpeg等结尾的任何类型的URl。我看不到regexp本身有任何问题-它应该适用于以“.jpg”、“.jpeg”、“.png”、“.gif”结尾的所有字符串。我可以使用另一个正则表达式知道此处的确切文件扩展名吗。例如,您可以通过以下方式进行操作:String[]urlArray=url.split(“\”);字符串扩展名=urlArray[urlArray.length-1];另外,您还可以查看Matcher.group()函数()——它返回匹配的子字符串。在这种情况下,您将需要regexp,它只包括扩展检查。