java 正则表达式
我写了一个正则表达式,判断字符串里面是否包含了"_4个数字.csv"的字符串,但发现若字符中含有"_5个数字.csv"时,程序运行很慢,请大家帮我看一下,我没有多少正则表达式的经验,写的很差,如果可以优化的话,请大佬们帮我优化一下。
import java.util.regex.Pattern;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "20131210_19045.csv,a.csv,";
System.out.println(""+Pattern.matches("(\\w*?\\W*?)*?(\\w?_\\d{4}.csv,)+(\\w*?\\W*?)*?", str));
}
}
String str = "20131210_19015.csv,a.csv,";
System.out.println(""+Pattern.matches(".*(?<=_)(\\d{4})(?=.csv).*", str));
String str = "20131210_19045.csv,a.csv,";
System.out.println(str.matches(".*_\\d{4}\\.csv.*"));
@Test
public void test()
{
String str = "20131210_19015.csv,a.csv,";
System.out.println(""+Pattern.matches(".*_\\d{4,}+\\.csv.*", str));
}