为下面的字符串创建正则表达式模式

时间:2015-04-24 11:17:26

标签: java regex

任何人都可以建议我如何为下面的字符串创建模式。

String stringToFind = "Abcdef_ghi_2.0-123_20150424_1642_text.tar.gz";

我尝试过给定模式,但没有用。感觉到一些不满足于模式的地方。

String pattern = "Abcdef_ghi_*_(\\d{8})_(\\d{4})_\\w+";

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以使用:

 String pattern = "Abcdef_ghi_.*(\\d{8})_(\\d{4})_\\w+(?:\\.\\w+)*";

输出:

MATCH 1
1.  [19-27] `20150424`
2.  [28-32] `1642`

答案 1 :(得分:1)

而不是_*,您需要使用_.*?

您可以使用:

String pattern = "Abcdef_ghi_.*?_(\\d{8})_(\\d{4})_\\w+.*";