java.util.regex.Pattern的正则表达式

时间:2012-04-14 04:51:14

标签: java regex

我正在尝试创建一个合适的正则表达式来使用java.util.regex.Pattern

我正在使用下面显示的正则表达式匹配字符串,如下所示:feed_user_at_gmail_dot_com_testfile

final static Pattern PATTERN1 = Pattern.compile("feed_(.*)_([^_]*)");

这可以按预期工作。但是,我需要创建另一个模式来匹配字符串,如下所示:feed_user_at_gmail_dot_com_testfile_ts_20120413_dot_175531_dot_463

不同之处在于第二个String是第一个String的时间戳版本。这两个字符串是我的数据库中文件名的示例,我需要单独识别它们。时间戳版本附加_ts_,后跟DATE,如上所示。 DATE中的所有点都更改为_dot_

谢谢, 索尼

1 个答案:

答案 0 :(得分:1)

这个怎么样:

"feed_(.*)_([^_]*)_ts_[1-9]+(_dot_[1-9]+)*"

或者更好,

"feed_(.*)_([^_]*)_ts_[1-9]+(_dot_[1-9]+){2}"

如果日期总是有两个点。