我正在尝试创建一个合适的正则表达式来使用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_
谢谢, 索尼
答案 0 :(得分:1)
这个怎么样:
"feed_(.*)_([^_]*)_ts_[1-9]+(_dot_[1-9]+)*"
或者更好,
"feed_(.*)_([^_]*)_ts_[1-9]+(_dot_[1-9]+){2}"
如果日期总是有两个点。