获取一下最后的.ini位置之后往前数14位就可以了吧,看你这个是应该是根据日期来的,位数应该是固定的吧

解决方案 »

  1.   

    public static void main(String arg[]) throws Exception {
    String s = "/home/.../..../version/version_20131128100829.ini";
    Pattern p = Pattern.compile("_(\\d+)",Pattern.CASE_INSENSITIVE);
    Matcher m = p.matcher(s);
    while (m.find()) {
    System.out.println(m.group(1).substring(0, m.group(1).length()-2));
    }
    }
      

  2.   

    这不用正则啊
    String fileName="/home/.../..../version/version_20131128100829.ini";
    System.out.println(fileName.substring(fileName.lastIndexOf("_")+1,fileName.lastIndexOf(".")));
      

  3.   

    我是在写shell脚本的时候遇到的问题,还是需要正则的
      

  4.   

    shell脚本也无需用正则啊
    fileName="/home/.../..../version/version_20131128100829.ini"
    #从左边截取到最后一个_,此时就变为20131128100829.ini
    fileName=${##*_}
    #从右边向左开始截取到左边的第一个.就是去掉后缀了,此时应该是20131128100829
    fileName=${%%\.*}
    echo $fileName