有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java的正则表达式混乱

基本上我想匹配文件名。json扩展名,但不是以开头的文件。不包括名单。json

这就是我得出的结论(没有java字符串转义)

(?i)^([^\.][^list].+|list.+)\.json$

我用了一个在线的正则表达式测试工具Regexplanet来测试我的正则表达式 http://fiddle.re/x9g86

不过,当我在Java中尝试使用正则表达式测试程序时,一切都很好。所有带有字母l,i,s,t的都将被排除在外。。。这让我很困惑

谁能给我一些线索吗

非常感谢


共 (1) 个答案

  1. # 1 楼答案

    I want to match filename with .json extension but not file that start with . and excluding list.json.

    我不确定你需要正则表达式。我发现以下几点对眼睛来说更容易:

    boolean match = s.endsWith(".json") && !s.startsWith(".") && !s.equals("list.json");