日期:2014-05-16  浏览次数:20353 次

问个正则表达式意思
非贪婪模式

/(.*?).json/

当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。

那个这个怎么解释(.*?)

------解决方案--------------------
Java code

System.out.println("abc.json.json".matches("(.*?).json"));//true
        Pattern p = Pattern.compile("(.*?).json");
        Matcher m = p.matcher("abc.json.json");
        if(m.find()){
            System.out.print(m.group());//abc.json
        }