You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java正则中如何匹配反斜杠?如何匹配指定数字格式字符串?

问题2:匹配文件路径中的????\??-??格式(?为数字)

先拆解需求:你要找的是4个数字 + 反斜杠 + 2个数字 + 连字符 + 2个数字的模式,对应示例路径里的2020\02-20。

结合问题1的转义逻辑,我们可以构建出对应的正则:

  • 匹配数字用正则的\d,Java字符串里写成\\d
  • 匹配反斜杠还是用\\\\(Java字符串层面)
  • 连字符-是正则字面量,直接写就行

最终的Java正则字符串是"\\d{4}\\\\\\d{2}-\\d{2}",拆解细节:

  • \\d{4}:匹配4个连续数字
  • \\\\:匹配一个字面反斜杠
  • \\d{2}:匹配2个连续数字
  • -:匹配字面连字符
  • \\d{2}:再匹配2个连续数字

代码示例如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PathPatternMatcher {
    public static void main(String[] args) {
        String filePath = "D:\\it\\2020\\02-20\\123\\13.json";
        // 构建匹配模式
        Pattern pattern = Pattern.compile("\\d{4}\\\\\\d{2}-\\d{2}");
        Matcher matcher = pattern.matcher(filePath);
        
        while (matcher.find()) {
            System.out.println("找到匹配的字符串:" + matcher.group());
        }
    }
}

运行这段代码会输出:找到匹配的字符串:2020\02-20,完全符合你的需求。


内容的提问来源于stack exchange,提问作者Morteza Malvandi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:28:03