java中的正则表达式模式不起作用

时间:2015-04-08 17:58:02

标签: java regex

我正在尝试创建一个正则表达式模式来搜索特殊类型的文件名:

文件名可能如下所示:

fileName_1x1.extension

我想查找文件名是否具有此模式:

_(number)x(number).

我将之前的路径粘贴到在线正则表达式生成器/测试器中,它使用了这种模式:

Pattern pattern = Pattern.compile("_\\d(.+)x\\d(.+)\\.");
Matcher matcher = pattern.matcher("fileName_1x1.extension");
return matcher.find();

为什么这不适用于Java?

1 个答案:

答案 0 :(得分:4)

应该是这个正则表达式:

Pattern pattern = Pattern.compile("_\\d+x\\d+\\.");

.+之后\\d,您会在一位数后的1个或更多时间匹配任何字符。