Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 特定文件的JUnit测试限制提供错误输出_Java_Regex - Fatal编程技术网

Java 特定文件的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

我有一个要求,用户应该只添加特定类型的链接 作为附件的一部分。例如,如果用户想要上传 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.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,它只包括扩展检查。