首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java 正则表达式,该如何解决

2013-12-16 
java 正则表达式我写了一个正则表达式,判断字符串里面是否包含了_4个数字.csv的字符串,但发现若字符中含

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));

[解决办法]
.*?_\\d{4}\\.csv.*
[解决办法]

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));
}


虽然成功了,但是感觉还是慢。。。

热点排行