我怎样才能在java中编写更复杂的正则表达式?

时间:2015-06-24 13:22:25

标签: java regex

我喜欢做以下规则:

没有空间开始" ",不超过一个"。" ,而不是开始"。"不以"结束。"不是吗? / \ :;在文件中。

public static void Invalid(String[] filename){  
for(String s: filename){     
    String u  = s;
    try {
        u = new String(s.getBytes(), "UTF-8");
        System.out.println(u);
    } catch (Exception e) {
        e.printStackTrace();
    } 
    u=u.replaceAll("[.$]", " ");//.{2,}\\?
    u = u.replaceAll("\\s+", "_");
    System.out.println(s + " = " + u);
}
}

主要简单:

  String[] name={"some?thing..txt."};
  Invalid(name);

输出:

 some?thing..txt.
 some?thing..txt. = some_thing_txt_

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用此模式验证文件名:

^[^?/\\\\;: .][^?/\\\\;:.]*(?:\\.[^?/\\\\;:.]+)?$

注意:如果您想允许空字符串,请在末尾添加|^$

不确定您对无效文件名的确切想要做什么。