【发布时间】:2016-09-28 14:07:57
【问题描述】:
我正在编写一个正则表达式来匹配以下类型的字符串:
my-jar-1.2.3.5.jar
my-jar.jar
my-jar-1.2.jar
借助 A regex for version number parsing 我想通了
String pat = "^my-jar(-|\\.)?(?:(\\d+)\\.)?(?:(\\d+)\\.)?(?:(\\d+)\\.)?(\\*|\\d+).jar$";
Pattern patt = Pattern.compile(pat);
System.out.println("For my-jar-1.2.jar - " + patt.matcher("my-jar-1.2.jar").find());
System.out.println("For my-jar-1.2.3.5.jar - " + patt.matcher("my-jar-1.2.3.5.jar").find());
System.out.println("For my-jar.jar - " + patt.matcher("my-jar.jar").find());
输出是
For my-jar-1.2.jar - true
For my-jar-1.2.3.5.jar - true
For my-jar.jar - false
如何在我的正则表达式中包含最后一个案例?
【问题讨论】: