如何为下面的字符串创建java正则表达式

时间:2012-12-04 07:12:34

标签: java regex

我有以abc_abc0006_2012-11-26_1420_2121.11182012.zip命名的文件,所以我想搜索所有以wei_wei0006开头并以.zip结尾的文件,在此之间它只包含数字,日期,并允许-._字符串。任何人都有如何使用reg x,我有一个^abc_abc0006_[0-9-._]+.zip$无法正常工作。任何想法?

我已经在下面测试了它工作正常,但它有一个问题,它也在文件类型下面。

解决方案是:"abc_abc0006_*.zip" 结果:

  • op1:abc_abc0006_2012-11-26_1420_2121.11182012.zip
  • op1:abc_abc0006_2012-12-02_1321_some_alfhabet_text_20121202.zip

有效结果应仅在文件下方选择 abc_abc0006_2012-11-26_1420_2121.11182012.zip

4 个答案:

答案 0 :(得分:1)

尝试^abc_abc0006_[-0-9._]+\.zip$

或者不那么神奇,^abc_abc0006_[0-9\-._]+\.zip$。你的问题是-在角色类中有特殊含义,你需要以某种方式逃避它。

答案 1 :(得分:0)

你需要在结尾加上“ - ”

  

^ abc_abc0006_ [0-9 ._-] + \。拉链$

答案 2 :(得分:0)

使用

"abc_abc0006_[\\d_.-]+\\.zip" 

如果它不起作用,请告诉我们您是如何使用它的。错误必须在其他地方。

答案 3 :(得分:-2)

使用以下正则表达式。我检查过,这是正常的。

[[\\w]||[\\s]||[_]||[-]||[.]]*.zip